2 // $Id: AliHLTTRDCalibHistoComponent.h 40269 2010-04-08 22:08:53Z richterm $
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 *
10 // @file AliHLTTRDCalibHistoComponent.h
13 // @brief Declaration of a TRDCalibration component.
17 #include "AliHLTProcessor.h"
19 class AliTRDCalibraFillHisto;
22 class AliHLTTRDCalibHistoComponent : public AliHLTProcessor
25 AliHLTTRDCalibHistoComponent();
26 virtual ~AliHLTTRDCalibHistoComponent();
28 // Public functions to implement AliHLTComponent's interface.
29 // These functions are required for the registration process
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();
40 // Protected functions to implement AliHLTComponent's interface.
41 // These functions provide initialization as well as the actual processing
42 // capabilities of the component.
44 int DoInit( int argc, const char** argv );
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);
51 using AliHLTProcessor::DoEvent;
53 int Configure(const char* arguments);
55 int TakeHistos(Int_t nTimeBins);
58 /** copy constructor prohibited */
59 AliHLTTRDCalibHistoComponent(const AliHLTTRDCalibHistoComponent&);
60 /** assignment operator prohibited */
61 AliHLTTRDCalibHistoComponent& operator=(const AliHLTTRDCalibHistoComponent&);
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
76 ClassDef(AliHLTTRDCalibHistoComponent, 2)