]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDCalibrationComponent.h
initial HLT-TRD commit
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDCalibrationComponent.h
1 // $Id$
2
3 #ifndef ALIHLTTRDCALIBRATIONCOMPONENT_H
4 #define ALIHLTTRDCALIBRATIONCOMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTTRDCalibrationComponent.h
9     @author Timm Steinbeck, Matthias Richter
10     @date   
11     @brief  Declaration of a TRDCalibration component. */
12
13
14 #include "AliHLTProcessor.h"
15 class AliHLTTRDCalibra;
16 class AliCDBManager;
17 class AliTRDtriggerHLT;
18 class AliRawReaderMemory;
19 class AliTRDtrigParam;
20
21 /**
22  * @class AliHLTTRDCalibrationComponent
23  * @brief A TRDCalibration HLT processing component. 
24  *
25  * An implementiation of a TRDCalibration component that just copies its input data
26  * as a test, demonstration, and example of the HLT component scheme.
27  * @ingroup alihlt_tutorial
28  */
29 class AliHLTTRDCalibrationComponent : public AliHLTProcessor
30     {
31     public:
32         AliHLTTRDCalibrationComponent();
33         virtual ~AliHLTTRDCalibrationComponent();
34
35         // Public functions to implement AliHLTComponent's interface.
36         // These functions are required for the registration process
37
38         const char* GetComponentID();
39         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
40         AliHLTComponent_DataType GetOutputDataType();
41         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
42         AliHLTComponent* Spawn();
43         
44     protected:
45         
46         // Protected functions to implement AliHLTComponent's interface.
47         // These functions provide initialization as well as the actual processing
48         // capabilities of the component. 
49
50         int DoInit( int argc, const char** argv );
51         int DoDeinit();
52         int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
53                      AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
54                      AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
55         
56     private:
57
58         // The size of the output data produced, as a percentage of the input data's size.
59         // Can be greater than 100 (%)
60         unsigned fOutputPercentage;
61
62         string fStrorageDBpath;
63
64         AliHLTTRDCalibra  *calibra; //!
65
66         AliTRDtriggerHLT *fMCMtrigger; //!
67         AliTRDtrigParam   *fMCMtriggerParams; //!
68         int fTriggerParDebugLevel;
69         double fLTUpTcut;
70         double fBField;
71
72         AliCDBManager *cdb; //!
73         AliRawReaderMemory *rmem; //!
74         
75         ClassDef(AliHLTTRDCalibrationComponent, 0)
76
77     };
78 #endif