]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCCalibPedestalComponent.h
TPC calibration components added
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCCalibPedestalComponent.h
1
2 #ifndef ALIHLTTPCCALIBPEDESTALCOMPONENT_H
3 #define ALIHLTTPCCALIBPEDESTALCOMPONENT_H
4
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTTPCCalibPedestalComponent.h
9     @author Jochen Thaeder
10     @date   
11     @brief  A pedestal calibration component for the TPC.
12 */
13
14 #include "AliHLTProcessor.h"
15 #include "AliHLTTPCDefinitions.h"
16
17 class AliTPCRawStream;
18 class AliRawReaderMemory;
19 class AliTPCCalibPedestal;
20
21 /**
22  * @class AliHLTTPCCalibPedestalComponent
23  * 
24  * This class is the component for the AliTPCCalibPedestal class used for 
25  * pedestal calibration of the TPC. It uses the high-level interface and
26  * the output is the TObject of AliTPCCalibPedestal.
27  *
28  * The component has the following component arguments:
29  * -    The RCU format:  rcuformat  
30  *      which can be either 
31  *        - old ( used in the TPC Commissioning )
32  *        - new
33  *
34  * @ingroup alihlt_tpc
35  */
36 class AliHLTTPCCalibPedestalComponent : public AliHLTProcessor
37     {
38     public:
39       /**
40        * constructor 
41        */
42       AliHLTTPCCalibPedestalComponent();
43       /** not a valid copy constructor, defined according to effective C++ style */
44       AliHLTTPCCalibPedestalComponent(const AliHLTTPCCalibPedestalComponent&);
45       /** not a valid assignment op, but defined according to effective C++ style */
46       AliHLTTPCCalibPedestalComponent& operator=(const AliHLTTPCCalibPedestalComponent&);
47       /** destructor */
48       virtual ~AliHLTTPCCalibPedestalComponent();
49       
50       // Public functions to implement AliHLTComponent's interface.
51       // These functions are required for the registration process
52
53       const char* GetComponentID();
54       void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
55       AliHLTComponentDataType GetOutputDataType();
56       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
57       AliHLTComponent* Spawn();
58
59     protected:
60       
61       // Protected functions to implement AliHLTComponent's interface.
62       // These functions provide initialization as well as the actual processing
63       // capabilities of the component. 
64       
65       Int_t DoInit( int argc, const char** argv );
66       Int_t DoDeinit();
67       Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
68    
69     private:
70
71       /** the reader object for reading from memory */
72       AliRawReaderMemory* fRawReader;                                              //!transient
73
74       /** the reader object for reading TPC raw data */  
75       AliTPCRawStream* fRawStream;                                                 //!transient
76
77       /** Pedestal Calibration class */
78       AliTPCCalibPedestal * fCalibPedestal;                                        //!transient
79       
80       /** if use old RCU format */
81       Bool_t fRCUFormat;                                                           // see above
82
83       ClassDef(AliHLTTPCCalibPedestalComponent, 0)
84
85     };
86 #endif