]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDCalibrationComponent.h
Revert "- test commit"
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDCalibrationComponent.h
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   ClassDef(AliHLTTRDCalibrationComponent, 2)
97
98 };
99 #endif
100