Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id$
3 :
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"
12 : #include "TH1F.h"
13 :
14 : /**
15 : * @class AliHLTTRDClusterHistoComponent
16 : * Component for ploting charge in clusters
17 : *
18 : * Component ID: \b TRDClusterHisto <br>
19 : * Library: \b libAliHLTTRD.
20 : *
21 : * Mandatory arguments: <br>
22 : *
23 : *
24 : * Optional arguments: <br>
25 : *
26 : *
27 : * @ingroup alihlt_tpc_components
28 : */
29 : class TClonesArray;
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 */
63 : int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
64 :
65 : using AliHLTProcessor::DoEvent;
66 :
67 : int Configure(const char* arguments);
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 : */
79 :
80 : AliHLTUInt32_t fOutputSize; // output size
81 : AliHLTUInt32_t fSpec; // accumulated specification
82 : TClonesArray* fClusterArray; // input array
83 :
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
88 :
89 : TH1F *fClsAmpDriftDet[540];
90 : TH1F *fClsAmpDist;
91 :
92 : TH1F *fSClsDist;
93 : TH1F *fNScls;
94 :
95 : TH1F *fEvSize; // Event size in kbyte
96 :
97 6 : ClassDef(AliHLTTRDClusterHistoComponent, 0);
98 : };
99 : #endif
|