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 */
6 /** @file AliHLTTRDCalibrationComponent.h
7 @author Timm Steinbeck, Matthias Richter
9 @brief Declaration of a TRDCalibration component. */
12 #include "AliHLTCalibrationProcessor.h"
14 class AliTRDCalibraFillHisto;
17 * @class AliHLTTRDCalibrationComponent
18 * @brief A TRDCalibration HLT processing component.
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
32 * @ingroup alihlt_tutorial
34 class AliHLTTRDCalibrationComponent : public AliHLTCalibrationProcessor
37 AliHLTTRDCalibrationComponent();
38 virtual ~AliHLTTRDCalibrationComponent();
40 // Public functions to implement AliHLTComponent's interface.
41 // These functions are required for the registration process
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();
51 // Protected functions to implement AliHLTComponent's interface.
52 // These functions provide initialization as well as the actual processing
53 // capabilities of the component.
55 AliTRDCalibraFillHisto *fTRDCalibraFillHisto;
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);
68 using AliHLTCalibrationProcessor::ProcessCalibration;
69 using AliHLTCalibrationProcessor::ShipDataToFXS;
72 /** copy constructor prohibited */
73 AliHLTTRDCalibrationComponent(const AliHLTTRDCalibrationComponent&);
74 /** assignment operator prohibited */
75 AliHLTTRDCalibrationComponent& operator=(const AliHLTTRDCalibrationComponent&);
77 // The size of the output data produced, as a percentage of the input data's size.
78 // Can be greater than 100 (%)
80 unsigned fOutputPercentage; // Output volume in percentage of the input
81 string fStrorageDBpath; // Default path for OCDB
82 AliCDBManager *fCDB; //! Pointer to OCDB
84 ClassDef(AliHLTTRDCalibrationComponent, 0)