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