3 #ifndef ALIHLTTRDCALIBRATIONCOMPONENT_H
4 #define ALIHLTTRDCALIBRATIONCOMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /** @file AliHLTTRDCalibrationComponent.h
9 @author Timm Steinbeck, Matthias Richter
11 @brief Declaration of a TRDCalibration component. */
14 #include "AliHLTProcessor.h"
15 class AliHLTTRDCalibra;
17 class AliTRDtriggerHLT;
18 class AliRawReaderMemory;
19 class AliTRDtrigParam;
22 * @class AliHLTTRDCalibrationComponent
23 * @brief A TRDCalibration HLT processing component.
25 * An implementiation of a TRDCalibration component that just copies its input data
26 * as a test, demonstration, and example of the HLT component scheme.
27 * @ingroup alihlt_tutorial
29 class AliHLTTRDCalibrationComponent : public AliHLTProcessor
32 AliHLTTRDCalibrationComponent();
33 virtual ~AliHLTTRDCalibrationComponent();
35 // Public functions to implement AliHLTComponent's interface.
36 // These functions are required for the registration process
38 const char* GetComponentID();
39 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
40 AliHLTComponent_DataType GetOutputDataType();
41 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
42 AliHLTComponent* Spawn();
46 // Protected functions to implement AliHLTComponent's interface.
47 // These functions provide initialization as well as the actual processing
48 // capabilities of the component.
50 int DoInit( int argc, const char** argv );
52 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
53 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
54 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
58 // The size of the output data produced, as a percentage of the input data's size.
59 // Can be greater than 100 (%)
60 unsigned fOutputPercentage; // The size of the output data produced in %
62 string fStrorageDBpath; // Path to DB
64 AliHLTTRDCalibra *fCalibra; //! Calibration - Class for TRD tracklets
66 AliTRDtriggerHLT *fMCMtrigger; //! Tracklet producer
67 AliTRDtrigParam *fMCMtriggerParams; //! Trigger parameters
68 int fTriggerParDebugLevel; // Debug level for fMCMtriggerParams
69 double fLTUpTcut; // pT cut of LTU
70 double fBField; // Magnetic field magnitude
72 AliCDBManager *fCDB; //! Pointer to OCDB
73 AliRawReaderMemory *fRmem; //! Mem reader
75 ClassDef(AliHLTTRDCalibrationComponent, 0)