]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDCalibrationComponent.h
HLT TRD code update by Theodor
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDCalibrationComponent.h
1 #ifndef ALIHLTTRDCALIBRATIONCOMPONENT_H
2 #define ALIHLTTRDCALIBRATIONCOMPONENT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /** @file   AliHLTTRDCalibrationComponent.h
7     @author Timm Steinbeck, Matthias Richter
8     @date   
9     @brief  Declaration of a TRDCalibration component. */
10
11
12 #include "AliHLTCalibrationProcessor.h"
13 class AliCDBManager;
14 class AliTRDCalibraFillHisto;
15
16 /**
17  * @class AliHLTTRDCalibrationComponent
18  * @brief A TRDCalibration HLT processing component. 
19  *
20  * - @ref InitCalibration (optional)
21  * - @ref ScanArgument (optional)
22  * - @ref DeinitCalibration (optional)
23  * - @ref ProcessCalibration
24  * - @ref ShipDataToFXS
25  * - @ref GetComponentID
26  * - @ref GetInputDataTypes
27  * - @ref GetOutputDataType
28  * - @ref GetOutputDataSize
29  * - @ref Spawn
30  * @ingroup alihlt_tutorial
31  */
32 class AliHLTTRDCalibrationComponent : public AliHLTCalibrationProcessor
33     {
34     public:
35         AliHLTTRDCalibrationComponent();
36         virtual ~AliHLTTRDCalibrationComponent();
37
38         // Public functions to implement AliHLTComponent's interface.
39         // These functions are required for the registration process
40
41         const char* GetComponentID();
42         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
43         AliHLTComponent_DataType GetOutputDataType();
44         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
45         AliHLTComponent* Spawn();
46         
47     protected:
48         
49         // Protected functions to implement AliHLTComponent's interface.
50         // These functions provide initialization as well as the actual processing
51         // capabilities of the component. 
52         
53         AliTRDCalibraFillHisto *fTRDCalibraFillHisto;
54         
55         virtual Int_t InitCalibration();
56         virtual Int_t ScanArgument(int argc, const char** argv);
57         virtual Int_t DeinitCalibration();
58         virtual Int_t ProcessCalibration(const AliHLTComponent_EventData& evtData,
59                                          const AliHLTComponent_BlockData* blocks,
60                                          AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
61                                          AliHLTUInt32_t& size,
62                                          vector<AliHLTComponent_BlockData>& outputBlocks);
63 /*      virtual Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); */
64 //      virtual Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
65         
66         using AliHLTCalibrationProcessor::ProcessCalibration;
67 //      using AliHLTCalibrationProcessor::ShipDataToFXS;
68
69     private:
70         /** copy constructor prohibited */
71         AliHLTTRDCalibrationComponent(const AliHLTTRDCalibrationComponent&);
72         /** assignment operator prohibited */
73         AliHLTTRDCalibrationComponent& operator=(const AliHLTTRDCalibrationComponent&);
74         TObjArray* FormOutput();
75
76         // The size of the output data produced, as a percentage of the input data's size.
77         // Can be greater than 100 (%)  
78         unsigned fOutputPercentage; // Output volume in percentage of the input
79         
80         ClassDef(AliHLTTRDCalibrationComponent, 1)
81
82     };
83 #endif