]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDTrackerV1Component.h
Randomizing particle order in the pair for identical particles
[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 class AliTRDReconstructor;
20
21 /**
22  * @class AliHLTTRDTrackerComponent
23  * @brief A TRDTrackerV1 HLT processing component. 
24  *
25  * Uses the second generation TRD tracker AliTRDtrackerV1
26 */
27
28 class AliHLTTRDTrackerV1Component : public AliHLTProcessor
29     {
30     public:
31         AliHLTTRDTrackerV1Component();
32         virtual ~AliHLTTRDTrackerV1Component();
33
34         // Public functions to implement AliHLTComponent's interface.
35         // These functions are required for the registration process
36
37         const char* GetComponentID();
38         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
39         AliHLTComponent_DataType GetOutputDataType();
40         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
41         AliHLTComponent* Spawn();
42         
43     protected:
44         
45         // Protected functions to implement AliHLTComponent's interface.
46         // These functions provide initialization as well as the actual processing
47         // capabilities of the component. 
48
49         int DoInit( int argc, const char** argv );
50         int DoDeinit();
51         int DoEvent( const AliHLTComponentEventData & evtData,
52                      AliHLTComponentTriggerData & trigData );
53
54         using AliHLTProcessor::DoEvent;
55         
56     private:
57         /** copy constructor prohibited */
58         AliHLTTRDTrackerV1Component(const AliHLTTRDTrackerV1Component&);
59         /** assignment operator prohibited */
60         AliHLTTRDTrackerV1Component& operator=(const AliHLTTRDTrackerV1Component&);
61
62         // The size of the output data produced, as a percentage of the input data's size.
63         // Can be greater than 100 (%)
64         unsigned fOutputPercentage; // Output volume in percentage of the input
65
66         string fStrorageDBpath; // Default path for OCDB
67         AliCDBManager *fCDB; //! Pointer to OCDB
68
69         AliMagFMaps* fField; //! magn. field settings
70
71         string fGeometryFileName; // Path to geometry file 
72         TFile *fGeometryFile; //! // Pointer to the geom root file
73         TGeoManager *fGeoManager; //! Pointer to geometry manager 
74
75         AliTRDtrackerV1 *fTracker;//! Offline-pure/HLT tracker V1
76         AliTRDrecoParam *fRecoParam; //! Offline reco params
77         AliTRDReconstructor * fReconstructor;
78         
79         ClassDef(AliHLTTRDTrackerV1Component, 0)
80
81     };
82 #endif