Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id$
3 :
4 : #ifndef ALIHLTTRDTRACKHISTOCOMPONENT_H
5 : #define ALIHLTTRDTRACKHISTOCOMPONENT_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 :
11 : #include "AliHLTProcessor.h"
12 :
13 : /**
14 : * @class AliHLTTRDQHistoComponent
15 : * Component for ploting charge in clusters
16 : *
17 : * Component ID: \b TRDQHisto <br>
18 : * Library: \b libAliHLTTRD.
19 : *
20 : * Mandatory arguments: <br>
21 : *
22 : *
23 : * Optional arguments: <br>
24 : *
25 : *
26 : * @ingroup alihlt_tpc_components
27 : */
28 :
29 : class TH1F;
30 : class TClonesArray;
31 : class AliHLTTRDTrackHistoComponent : public AliHLTProcessor
32 : {
33 : public:
34 : /** default constructor */
35 : AliHLTTRDTrackHistoComponent();
36 : /** destructor */
37 : virtual ~AliHLTTRDTrackHistoComponent();
38 :
39 : // Public functions to implement AliHLTComponent's interface.
40 : // These functions are required for the registration process
41 :
42 : /** interface function, see AliHLTComponent for description */
43 : const char* GetComponentID();
44 : /** interface function, see AliHLTComponent for description */
45 : void GetInputDataTypes(AliHLTComponentDataTypeList& list);
46 : /** interface function, see AliHLTComponent for description */
47 : AliHLTComponentDataType GetOutputDataType();
48 : /** interface function, see AliHLTComponent for description */
49 : virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
50 : /** interface function, see AliHLTComponent for description */
51 : AliHLTComponent* Spawn();
52 :
53 : protected:
54 :
55 : // Protected functions to implement AliHLTComponent's interface.
56 : // These functions provide initialization as well as the actual processing
57 : // capabilities of the component.
58 :
59 : /** interface function, see AliHLTComponent for description */
60 : int DoInit( int argc, const char** argv );
61 : /** interface function, see AliHLTComponent for description */
62 : int DoDeinit();
63 : /** interface function, see AliHLTComponent for description */
64 : int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
65 :
66 : using AliHLTProcessor::DoEvent;
67 :
68 : int Configure(const char* arguments);
69 :
70 : private:
71 : /** copy constructor prohibited */
72 : AliHLTTRDTrackHistoComponent(const AliHLTTRDTrackHistoComponent&);
73 : /** assignment operator prohibited */
74 : AliHLTTRDTrackHistoComponent& operator=(const AliHLTTRDTrackHistoComponent&);
75 : /**
76 : * Configure the component.
77 : * Parse a string for the configuration arguments and set the component
78 : * properties.
79 : */
80 :
81 : AliHLTUInt32_t fOutputSize; // output size
82 : AliHLTUInt32_t fSpec; // accumulated specification
83 : TClonesArray* fTracksArray; // input array
84 :
85 : TH1F *fClPerTrkl; // Number of clusters per tracklet
86 : TH1F *fTrklPerTrk; // Number of tracklets per track
87 : TH1F *fEvSize; // Event size in kbyte
88 : TH1F *fEtaDistrib; // Eta distribution
89 : TH1F *fPhiDistrib; // Phi distribution
90 : TH1F *fPtDistrib; // Pt distribution
91 :
92 6 : ClassDef(AliHLTTRDTrackHistoComponent, 0);
93 : };
94 : #endif
|