]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDCalibHistoComponent.h
correcting DDL bit for AD and HLT
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDCalibHistoComponent.h
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   ClassDef(AliHLTTRDCalibHistoComponent, 2)
77
78 };
79 #endif
80