]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDTrackHistoComponent.h
Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDTrackHistoComponent.h
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   ClassDef(AliHLTTRDTrackHistoComponent, 0);
93 };
94 #endif