Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id: AliHLTTRDCalibHistoComponent.h 40269 2010-04-08 22:08:53Z richterm $
3 :
4 : #ifndef ALIHLTTRDCALIBHISTOCOMPONENT_H
5 : #define ALIHLTTRDCALIBHISTOCOMPONENT_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 AliHLTTRDCalibHistoComponent.h
11 : // @author
12 : // @date
13 : // @brief Declaration of a TRDCalibration component.
14 : //
15 :
16 :
17 : #include "AliHLTProcessor.h"
18 : class AliCDBManager;
19 : class AliTRDCalibraFillHisto;
20 : class TClonesArray;
21 :
22 : class AliHLTTRDCalibHistoComponent : public AliHLTProcessor
23 : {
24 : public:
25 : AliHLTTRDCalibHistoComponent();
26 : virtual ~AliHLTTRDCalibHistoComponent();
27 :
28 : // Public functions to implement AliHLTComponent's interface.
29 : // These functions are required for the registration process
30 :
31 : const char* GetComponentID();
32 : void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
33 : AliHLTComponentDataType GetOutputDataType();
34 : int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
35 : virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
36 : AliHLTComponent* Spawn();
37 :
38 : protected:
39 :
40 : // Protected functions to implement AliHLTComponent's interface.
41 : // These functions provide initialization as well as the actual processing
42 : // capabilities of the component.
43 :
44 : int DoInit( int argc, const char** argv );
45 : int DoDeinit();
46 : int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
47 : AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
48 : AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
49 : int Reconfigure(const char* cdbEntry, const char* chainId);
50 :
51 : using AliHLTProcessor::DoEvent;
52 :
53 : int Configure(const char* arguments);
54 : int SetParams();
55 : int TakeHistos(Int_t nTimeBins);
56 :
57 : private:
58 : /** copy constructor prohibited */
59 : AliHLTTRDCalibHistoComponent(const AliHLTTRDCalibHistoComponent&);
60 : /** assignment operator prohibited */
61 : AliHLTTRDCalibHistoComponent& operator=(const AliHLTTRDCalibHistoComponent&);
62 : void FormOutput();
63 :
64 : AliHLTUInt32_t fOutputSize; // output size
65 : AliHLTUInt32_t fSpec; // accumulated specification
66 : TClonesArray* fTracksArray; // array containing the input
67 : TObjArray* fOutArray; // array containing the output
68 : AliTRDCalibraFillHisto *fTRDCalibraFillHisto; // TRD calibration object
69 : Bool_t fSavedTimeBins; // already saved the number of time bins?
70 : TObjArray *fTrgStrings; // name of trigger classes to accept or reject
71 : Int_t fAccRejTrg; // do we actually accept or reject the trigger strings?
72 : Int_t fMinClusters; // minimal number of clusters/tracklet accepted to fill histos
73 : Int_t fMinTracklets; // minimal number of tracklets/track accepted to fill histos
74 : Bool_t fTakeAllEvents; // take all events, disregarding the triggers
75 :
76 6 : ClassDef(AliHLTTRDCalibHistoComponent, 2)
77 :
78 : };
79 : #endif
80 :
|