2 // $Id: AliHLTTRDCalibFitComponent.h 40269 2010-04-08 22:08:53Z richterm $
4 #ifndef ALIHLTTRDCALIBFITCOMPONENT_H
5 #define ALIHLTTRDCALIBFITCOMPONENT_H
6 //* This file is property of and copyright by the ALICE HLT Project *
7 //* ALICE Experiment at CERN, All rights reserved. *
8 //* See cxx source for full Copyright notice *
10 // @file AliHLTTRDCalibFitComponent.h
13 // @brief Declaration of a TRDCalibration component.
17 #include "AliHLTCalibrationProcessor.h"
19 class AliTRDCalibraFillHisto;
23 * @class AliHLTTRDCalibFitComponent
24 * @brief A TRDCalibration HLT processing component.
26 * - @ref InitCalibration (optional)
27 * - @ref ScanArgument (optional)
28 * - @ref DeinitCalibration (optional)
29 * - @ref ProcessCalibration
30 * - @ref ShipDataToFXS
31 * - @ref GetComponentID
32 * - @ref GetInputDataTypes
33 * - @ref GetOutputDataType
34 * - @ref GetOutputDataSize
36 * @ingroup alihlt_tutorial
38 class AliHLTTRDCalibFitComponent : public AliHLTCalibrationProcessor
41 AliHLTTRDCalibFitComponent();
42 virtual ~AliHLTTRDCalibFitComponent();
44 // Public functions to implement AliHLTComponent's interface.
45 // These functions are required for the registration process
47 const char* GetComponentID();
48 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
49 AliHLTComponentDataType GetOutputDataType();
50 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
51 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
52 AliHLTComponent* Spawn();
56 // Protected functions to implement AliHLTComponent's interface.
57 // These functions provide initialization as well as the actual processing
58 // capabilities of the component.
60 virtual Int_t InitCalibration();
61 virtual Int_t DeinitCalibration();
62 virtual Int_t ProcessCalibration(const AliHLTComponent_EventData& evtData,
63 const AliHLTComponent_BlockData* blocks,
64 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
66 vector<AliHLTComponent_BlockData>& outputBlocks);
67 /* virtual Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); */
68 virtual Int_t ShipDataToFXS(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
69 virtual Int_t EORCalibration();
71 using AliHLTCalibrationProcessor::ProcessCalibration;
72 //using AliHLTCalibrationProcessor::ShipDataToFXS;
75 /** copy constructor prohibited */
76 AliHLTTRDCalibFitComponent(const AliHLTTRDCalibFitComponent&);
77 /** assignment operator prohibited */
78 AliHLTTRDCalibFitComponent& operator=(const AliHLTTRDCalibFitComponent&);
80 AliHLTUInt32_t fOutputSize; // output size
81 TObjArray* fOutArray; // array containing the output
82 TObjArray* fAfterRunArray; // array with after run processing output
83 Bool_t fIncSM[18]; // array for telling which super module was already added
84 Int_t fNoOfSM; // number of known SM
85 Int_t fNoOfIncSM; // number of SM already added
87 ClassDef(AliHLTTRDCalibFitComponent, 2)