]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDTrackerComponent.h
adding new library dependencies for TRD and MUON to configuration and cleaning up...
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrackerComponent.h
1 // $Id$
2
3 #ifndef ALIHLTTRDTRACKERCOMPONENT_H
4 #define ALIHLTTRDTRACKERCOMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTTRDTrackerComponent.h
9     @author Timm Steinbeck, Matthias Richter
10     @date   
11     @brief  Declaration of a TRDTracker component. */
12
13
14 #include "AliHLTProcessor.h"
15 class AliCDBManager;
16 class TFile;
17 class TGeoManager;
18 //class AliTRDtrackerHLT;
19 class AliTRDtracker;
20 class AliMagFMaps;
21
22 /**
23  * @class AliHLTTRDTrackerComponent
24  * @brief A TRDTracker HLT processing component. 
25  *
26  * An implementiation of a TRDTracker component that just copies its input data
27  * as a test, demonstration, and example of the HLT component scheme.
28  * @ingroup alihlt_tutorial
29  */
30 class AliHLTTRDTrackerComponent : public AliHLTProcessor
31     {
32     public:
33         AliHLTTRDTrackerComponent();
34         virtual ~AliHLTTRDTrackerComponent();
35
36         // Public functions to implement AliHLTComponent's interface.
37         // These functions are required for the registration process
38
39         const char* GetComponentID();
40         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
41         AliHLTComponent_DataType GetOutputDataType();
42         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
43         AliHLTComponent* Spawn();
44         
45     protected:
46         
47         // Protected functions to implement AliHLTComponent's interface.
48         // These functions provide initialization as well as the actual processing
49         // capabilities of the component. 
50
51         int DoInit( int argc, const char** argv );
52         int DoDeinit();
53 /*      int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,  */
54 /*                   AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,  */
55 /*                   AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks ); */
56         int DoEvent( const AliHLTComponentEventData & evtData,
57                      AliHLTComponentTriggerData & trigData );
58
59         using AliHLTProcessor::DoEvent;
60         
61     private:
62         /** copy constructor prohibited */
63         AliHLTTRDTrackerComponent(const AliHLTTRDTrackerComponent&);
64         /** assignment operator prohibited */
65         AliHLTTRDTrackerComponent& operator=(const AliHLTTRDTrackerComponent&);
66
67         // The size of the output data produced, as a percentage of the input data's size.
68         // Can be greater than 100 (%)
69         unsigned fOutputPercentage; // Output volume in percentage of the input
70
71         string fStrorageDBpath; // Default path for OCDB
72         AliCDBManager *fCDB; //! Pointer to OCDB
73
74         AliMagFMaps* fField; //! magn. field settings
75
76         string fGeometryFileName; // Path to geometry file 
77         TFile *fGeometryFile; //! // Pointer to the geom root file
78         TGeoManager *fGeoManager; //! Pointer to geometry manager 
79
80         //AliTRDtrackerHLT *fTracker;//! Offline-like/HLT tracker
81         AliTRDtracker *fTracker;//! Offline-pure/HLT tracker
82
83         ClassDef(AliHLTTRDTrackerComponent, 0)
84
85     };
86 #endif