]>
Commit | Line | Data |
---|---|---|
93ce7d1b | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | ||
c1a93a7b | 4 | #ifndef ALIHLTTRDCLUSTERHISTOCOMPONENT_H |
5 | #define ALIHLTTRDCLUSTERHISTOCOMPONENT_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" | |
1298a070 | 12 | #include "TH1F.h" |
c1a93a7b | 13 | |
14 | /** | |
1298a070 | 15 | * @class AliHLTTRDClusterHistoComponent |
c1a93a7b | 16 | * Component for ploting charge in clusters |
17 | * | |
1298a070 | 18 | * Component ID: \b TRDClusterHisto <br> |
c1a93a7b | 19 | * Library: \b libAliHLTTRD. |
20 | * | |
21 | * Mandatory arguments: <br> | |
22 | * | |
23 | * | |
24 | * Optional arguments: <br> | |
25 | * | |
26 | * | |
27 | * @ingroup alihlt_tpc_components | |
28 | */ | |
df3ef345 | 29 | class TClonesArray; |
c1a93a7b | 30 | class AliHLTTRDClusterHistoComponent : public AliHLTProcessor |
31 | { | |
32 | public: | |
33 | /** default constructor */ | |
34 | AliHLTTRDClusterHistoComponent(); | |
35 | /** destructor */ | |
36 | virtual ~AliHLTTRDClusterHistoComponent(); | |
37 | ||
38 | // Public functions to implement AliHLTComponent's interface. | |
39 | // These functions are required for the registration process | |
40 | ||
41 | /** interface function, see AliHLTComponent for description */ | |
42 | const char* GetComponentID(); | |
43 | /** interface function, see AliHLTComponent for description */ | |
44 | void GetInputDataTypes(AliHLTComponentDataTypeList& list); | |
45 | /** interface function, see AliHLTComponent for description */ | |
46 | AliHLTComponentDataType GetOutputDataType(); | |
47 | /** interface function, see AliHLTComponent for description */ | |
48 | virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); | |
49 | /** interface function, see AliHLTComponent for description */ | |
50 | AliHLTComponent* Spawn(); | |
51 | ||
52 | protected: | |
53 | ||
54 | // Protected functions to implement AliHLTComponent's interface. | |
55 | // These functions provide initialization as well as the actual processing | |
56 | // capabilities of the component. | |
57 | ||
58 | /** interface function, see AliHLTComponent for description */ | |
59 | int DoInit( int argc, const char** argv ); | |
60 | /** interface function, see AliHLTComponent for description */ | |
61 | int DoDeinit(); | |
62 | /** interface function, see AliHLTComponent for description */ | |
93ce7d1b | 63 | int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData ); |
c1a93a7b | 64 | |
c1a93a7b | 65 | using AliHLTProcessor::DoEvent; |
93ce7d1b | 66 | |
67 | int Configure(const char* arguments); | |
c1a93a7b | 68 | |
69 | private: | |
70 | /** copy constructor prohibited */ | |
71 | AliHLTTRDClusterHistoComponent(const AliHLTTRDClusterHistoComponent&); | |
72 | /** assignment operator prohibited */ | |
73 | AliHLTTRDClusterHistoComponent& operator=(const AliHLTTRDClusterHistoComponent&); | |
74 | /** | |
75 | * Configure the component. | |
76 | * Parse a string for the configuration arguments and set the component | |
77 | * properties. | |
78 | */ | |
c1a93a7b | 79 | |
93ce7d1b | 80 | AliHLTUInt32_t fOutputSize; // output size |
2d7cea9e | 81 | AliHLTUInt32_t fSpec; // accumulated specification |
93ce7d1b | 82 | TClonesArray* fClusterArray; // input array |
df3ef345 | 83 | |
2d7cea9e | 84 | TH1F *fNClsDet; // distribution of detectors |
85 | TH1F *fClsAmp; // distribution of charge | |
86 | TH1F *fClsAmpDrift; // distribution of charge in drift region | |
87 | TH1F *fClsTB; // distribution of time bins | |
c1a93a7b | 88 | |
1298a070 | 89 | TH1F *fClsAmpDriftDet[540]; |
90 | TH1F *fClsAmpDist; | |
c1a93a7b | 91 | |
1298a070 | 92 | TH1F *fSClsDist; |
93 | TH1F *fNScls; | |
93ce7d1b | 94 | |
1ea1f8e0 | 95 | TH1F *fEvSize; // Event size in kbyte |
96 | ||
c1a93a7b | 97 | ClassDef(AliHLTTRDClusterHistoComponent, 0); |
98 | }; | |
99 | #endif |