cleanup of HLTTRDCalibration component, fixing bug in calibration: dQdl (Theodor)
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDCalibrationComponent.h
CommitLineData
93ce7d1b 1//-*- Mode: C++ -*-
2// $Id$
3
95259bbb 4#ifndef ALIHLTTRDCALIBRATIONCOMPONENT_H
5#define ALIHLTTRDCALIBRATIONCOMPONENT_H
93ce7d1b 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 *
95259bbb 9
10/** @file AliHLTTRDCalibrationComponent.h
11 @author Timm Steinbeck, Matthias Richter
12 @date
13 @brief Declaration of a TRDCalibration component. */
14
15
16#include "AliHLTCalibrationProcessor.h"
17class AliCDBManager;
9aea5deb 18class AliTRDCalibraFillHisto;
93ce7d1b 19class TClonesArray;
95259bbb 20
21/**
22 * @class AliHLTTRDCalibrationComponent
23 * @brief A TRDCalibration HLT processing component.
24 *
95259bbb 25 * - @ref InitCalibration (optional)
26 * - @ref ScanArgument (optional)
27 * - @ref DeinitCalibration (optional)
28 * - @ref ProcessCalibration
29 * - @ref ShipDataToFXS
30 * - @ref GetComponentID
31 * - @ref GetInputDataTypes
32 * - @ref GetOutputDataType
33 * - @ref GetOutputDataSize
34 * - @ref Spawn
35 * @ingroup alihlt_tutorial
36 */
37class AliHLTTRDCalibrationComponent : public AliHLTCalibrationProcessor
93ce7d1b 38{
39public:
40 AliHLTTRDCalibrationComponent();
41 virtual ~AliHLTTRDCalibrationComponent();
95259bbb 42
93ce7d1b 43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
95259bbb 45
93ce7d1b 46 const char* GetComponentID();
47 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
48 AliHLTComponentDataType GetOutputDataType();
d8731936 49 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
93ce7d1b 50 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
51 AliHLTComponent* Spawn();
95259bbb 52
93ce7d1b 53protected:
95259bbb 54
93ce7d1b 55 // Protected functions to implement AliHLTComponent's interface.
56 // These functions provide initialization as well as the actual processing
57 // capabilities of the component.
9aea5deb 58
93ce7d1b 59 AliTRDCalibraFillHisto *fTRDCalibraFillHisto;
9aea5deb 60
93ce7d1b 61 virtual Int_t InitCalibration();
62 virtual Int_t ScanArgument(int argc, const char** argv);
63 virtual Int_t DeinitCalibration();
64 virtual Int_t ProcessCalibration(const AliHLTComponent_EventData& evtData,
65 const AliHLTComponent_BlockData* blocks,
66 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
67 AliHLTUInt32_t& size,
68 vector<AliHLTComponent_BlockData>& outputBlocks);
69 /* virtual Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); */
70 virtual Int_t ShipDataToFXS(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
d8731936 71 virtual Int_t EORCalibration();
d679dd6c 72
93ce7d1b 73 using AliHLTCalibrationProcessor::ProcessCalibration;
74 //using AliHLTCalibrationProcessor::ShipDataToFXS;
d679dd6c 75
93ce7d1b 76private:
77 /** copy constructor prohibited */
78 AliHLTTRDCalibrationComponent(const AliHLTTRDCalibrationComponent&);
79 /** assignment operator prohibited */
80 AliHLTTRDCalibrationComponent& operator=(const AliHLTTRDCalibrationComponent&);
d8731936 81 void FormOutput(Int_t param);
dc2e6604 82
93ce7d1b 83 AliHLTUInt32_t fOutputSize; // output size
84 TClonesArray* fTracksArray; // array containing the input
85 TObjArray* fOutArray; // array containing the output
d8731936 86 TObjArray* fAfterRunArray; // array with after run processing output
521b7005 87 TObjArray* fDisplayArray; // array with online display histos
88 Bool_t fSavedTimeBins; // already saved the number of time bins?
d8731936 89 TObjArray *fTrgStrings; // name of trigger classes to accept or reject
90 Int_t fAccRejTrg; // do we actually accept or reject the trigger strings?
91
d132a324 92 ClassDef(AliHLTTRDCalibrationComponent, 2)
95259bbb 93
93ce7d1b 94};
95259bbb 95#endif
d8731936 96