Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id$
3 :
4 : #ifndef ALIHLTTRDCALIBRATIONCOMPONENT_H
5 : #define ALIHLTTRDCALIBRATIONCOMPONENT_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 *
9 :
10 : // @file AliHLTTRDCalibrationComponent.h
11 : // @author
12 : // @date
13 : // @brief Declaration of a TRDCalibration component.
14 : //
15 :
16 :
17 : #include "AliHLTCalibrationProcessor.h"
18 : class AliCDBManager;
19 : class AliTRDCalibraFillHisto;
20 : class TClonesArray;
21 :
22 : /**
23 : * @class AliHLTTRDCalibrationComponent
24 : * @brief A TRDCalibration HLT processing component.
25 : *
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
35 : * - @ref Spawn
36 : * @ingroup alihlt_tutorial
37 : */
38 : class AliHLTTRDCalibrationComponent : public AliHLTCalibrationProcessor
39 : {
40 : public:
41 : AliHLTTRDCalibrationComponent();
42 : virtual ~AliHLTTRDCalibrationComponent();
43 :
44 : // Public functions to implement AliHLTComponent's interface.
45 : // These functions are required for the registration process
46 :
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();
53 :
54 : protected:
55 :
56 : // Protected functions to implement AliHLTComponent's interface.
57 : // These functions provide initialization as well as the actual processing
58 : // capabilities of the component.
59 :
60 : AliTRDCalibraFillHisto *fTRDCalibraFillHisto;
61 :
62 : virtual Int_t InitCalibration();
63 : virtual Int_t ScanArgument(int argc, const char** argv);
64 : virtual Int_t DeinitCalibration();
65 : virtual Int_t ProcessCalibration(const AliHLTComponent_EventData& evtData,
66 : const AliHLTComponent_BlockData* blocks,
67 : AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
68 : AliHLTUInt32_t& size,
69 : vector<AliHLTComponent_BlockData>& outputBlocks);
70 : /* virtual Int_t ProcessCalibration( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); */
71 : virtual Int_t ShipDataToFXS(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
72 : virtual Int_t EORCalibration();
73 :
74 : using AliHLTCalibrationProcessor::ProcessCalibration;
75 : //using AliHLTCalibrationProcessor::ShipDataToFXS;
76 :
77 : private:
78 : /** copy constructor prohibited */
79 : AliHLTTRDCalibrationComponent(const AliHLTTRDCalibrationComponent&);
80 : /** assignment operator prohibited */
81 : AliHLTTRDCalibrationComponent& operator=(const AliHLTTRDCalibrationComponent&);
82 : void FormOutput(Int_t param);
83 :
84 : AliHLTUInt32_t fOutputSize; // output size
85 : TClonesArray* fTracksArray; // array containing the input
86 : TObjArray* fOutArray; // array containing the output
87 : TObjArray* fAfterRunArray; // array with after run processing output
88 : TObjArray* fDisplayArray; // array with online display histos
89 : Bool_t fSavedTimeBins; // already saved the number of time bins?
90 : TObjArray *fTrgStrings; // name of trigger classes to accept or reject
91 : Int_t fAccRejTrg; // do we actually accept or reject the trigger strings?
92 : Int_t fMinClusters; // minimal number of clusters/tracklet accepted to fill histos
93 : Int_t fMinTracklets; // minimal number of tracklets/track accepted to fill histos
94 : Bool_t fTakeAllEvents; // take all events, disregarding the triggers
95 :
96 6 : ClassDef(AliHLTTRDCalibrationComponent, 2)
97 :
98 : };
99 : #endif
100 :
|