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 * - @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
30 * @ingroup alihlt_tutorial
32 class AliHLTTRDCalibrationComponent : public AliHLTCalibrationProcessor
35 AliHLTTRDCalibrationComponent();
36 virtual ~AliHLTTRDCalibrationComponent();
38 // Public functions to implement AliHLTComponent's interface.
39 // These functions are required for the registration process
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();
49 // Protected functions to implement AliHLTComponent's interface.
50 // These functions provide initialization as well as the actual processing
51 // capabilities of the component.
53 AliTRDCalibraFillHisto *fTRDCalibraFillHisto;
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,
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);
66 using AliHLTCalibrationProcessor::ProcessCalibration;
67 // using AliHLTCalibrationProcessor::ShipDataToFXS;
70 /** copy constructor prohibited */
71 AliHLTTRDCalibrationComponent(const AliHLTTRDCalibrationComponent&);
72 /** assignment operator prohibited */
73 AliHLTTRDCalibrationComponent& operator=(const AliHLTTRDCalibrationComponent&);
74 TObjArray* FormOutput();
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
80 ClassDef(AliHLTTRDCalibrationComponent, 1)