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 */
6 /** @file AliHLTEMCALCalibrationComponent.h
7 @author Timm Steinbeck, Matthias Richter
9 @brief Declaration of a EMCALCalibration component. */
12 #include "AliHLTCalibrationProcessor.h"
16 * @class AliHLTEMCALCalibrationComponent
17 * @brief A EMCALCalibration HLT processing component.
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
31 * @ingroup alihlt_tutorial
33 class AliHLTEMCALCalibrationComponent : public AliHLTCalibrationProcessor
36 AliHLTEMCALCalibrationComponent();
37 virtual ~AliHLTEMCALCalibrationComponent();
39 // Public functions to implement AliHLTComponent's interface.
40 // These functions are required for the registration process
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();
50 // Protected functions to implement AliHLTComponent's interface.
51 // These functions provide initialization as well as the actual processing
52 // capabilities of the component.
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);
65 using AliHLTCalibrationProcessor::ProcessCalibration;
66 using AliHLTCalibrationProcessor::ShipDataToFXS;
69 /** copy constructor prohibited */
70 AliHLTEMCALCalibrationComponent(const AliHLTEMCALCalibrationComponent&);
71 /** assignment operator prohibited */
72 AliHLTEMCALCalibrationComponent& operator=(const AliHLTEMCALCalibrationComponent&);
74 // The size of the output data produced, as a percentage of the input data's size.
75 // Can be greater than 100 (%)
77 unsigned fOutputPercentage; // Output volume in percentage of the input
78 string fStrorageDBpath; // Default path for OCDB
79 AliCDBManager *fCDB; //! Pointer to OCDB
81 ClassDef(AliHLTEMCALCalibrationComponent, 0)