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