]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDCalibrationComponent.h
Randomizing particle order in the pair for identical particles
[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  * An implementiation of a TRDCalibration component that just copies its input data
21  * as a test, demonstration, and example of the HLT component scheme.
22  * - @ref InitCalibration (optional)
23  * - @ref ScanArgument (optional)
24  * - @ref DeinitCalibration (optional)
25  * - @ref ProcessCalibration
26  * - @ref ShipDataToFXS
27  * - @ref GetComponentID
28  * - @ref GetInputDataTypes
29  * - @ref GetOutputDataType
30  * - @ref GetOutputDataSize
31  * - @ref Spawn
32  * @ingroup alihlt_tutorial
33  */
34 class AliHLTTRDCalibrationComponent : public AliHLTCalibrationProcessor
35     {
36     public:
37         AliHLTTRDCalibrationComponent();
38         virtual ~AliHLTTRDCalibrationComponent();
39
40         // Public functions to implement AliHLTComponent's interface.
41         // These functions are required for the registration process
42
43         const char* GetComponentID();
44         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
45         AliHLTComponent_DataType GetOutputDataType();
46         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
47         AliHLTComponent* Spawn();
48         
49     protected:
50         
51         // Protected functions to implement AliHLTComponent's interface.
52         // These functions provide initialization as well as the actual processing
53         // capabilities of the component. 
54         
55         AliTRDCalibraFillHisto *fTRDCalibraFillHisto;
56         
57         virtual Int_t InitCalibration();
58         virtual Int_t ScanArgument(int argc, const char** argv);
59         virtual Int_t DeinitCalibration();
60 /*      virtual Int_t ProcessCalibration(const AliHLTComponent_EventData& evtData, */
61 /*                                       const AliHLTComponent_BlockData* blocks, */
62 /*                                       AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, */
63 /*                                       AliHLTUInt32_t& size, */
64 /*                                       vector<AliHLTComponent_BlockData>& outputBlocks); */
65         virtual Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
66         virtual Int_t ShipDataToFXS( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
67
68         using AliHLTCalibrationProcessor::ProcessCalibration;
69         using AliHLTCalibrationProcessor::ShipDataToFXS;
70         
71     private:
72         /** copy constructor prohibited */
73         AliHLTTRDCalibrationComponent(const AliHLTTRDCalibrationComponent&);
74         /** assignment operator prohibited */
75         AliHLTTRDCalibrationComponent& operator=(const AliHLTTRDCalibrationComponent&);
76
77         // The size of the output data produced, as a percentage of the input data's size.
78         // Can be greater than 100 (%)
79         
80         unsigned fOutputPercentage; // Output volume in percentage of the input
81         string fStrorageDBpath; // Default path for OCDB
82         AliCDBManager *fCDB; //! Pointer to OCDB
83         
84         ClassDef(AliHLTTRDCalibrationComponent, 0)
85
86     };
87 #endif