]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/ITS/AliHLTITSQAComponent.h
adding the AliHLTITSQAComponent (Piergiorgio), two functions rely on most
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSQAComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef AliHLTITSQACOMPONENT_H
4 #define AliHLTITSQACOMPONENT_H
5 //* This file is property of and copyright by the ALICE HLT Project        * 
6 //* ALICE Experiment at CERN, All rights reserved.                         *
7 //* See cxx source for full Copyright notice                               *
8
9 /// @file   AliHLTITSQHistoComponent.h
10 /// @author Piergiorgio Cerello cerello@to.infn.it
11 /// @date   2009-07-03
12 /// @brief  Interface component to the ITS QA
13
14 #include "AliHLTProcessor.h"
15 #include "TH1F.h"
16 #include "TH2F.h"
17 #include "TH3F.h"
18 #include "AliHLTITSSpacePointData.h"
19 #include "TClonesArray.h"
20 #include "AliITSRecPoint.h"
21 #include "AliITSQADataMakerRec.h"
22
23 class AliHLTTPCConfMapper;
24
25 /**
26  * @class AliHLTITSQHistoComponent
27  * Component for ploting charge in clusters
28  * 
29  * Component ID: \b ITSQHisto <br>
30  * Library: \b libAliHLTITS.
31  *
32  * Mandatory arguments: <br>
33  * 
34  * 
35  * Optional arguments: <br>
36  * 
37  *
38  * @ingroup alihlt_tpc_components
39  */
40 class AliHLTITSQAComponent : public AliHLTProcessor
41 {
42 public:
43   /** default constructor */
44   AliHLTITSQAComponent();
45   /** destructor */
46   virtual ~AliHLTITSQAComponent();
47
48   // Public functions to implement AliHLTComponent's interface.
49   // These functions are required for the registration process
50
51   /** interface function, see AliHLTComponent for description */
52   const char* GetComponentID();
53   /** interface function, see AliHLTComponent for description */
54   void GetInputDataTypes(AliHLTComponentDataTypeList& list);
55   /** interface function, see AliHLTComponent for description */
56   AliHLTComponentDataType GetOutputDataType();
57   /** interface function, see AliHLTComponent for description */
58   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
59   /** interface function, see AliHLTComponent for description */
60   AliHLTComponent* Spawn();
61
62 protected:
63
64   // Protected functions to implement AliHLTComponent's interface.
65   // These functions provide initialization as well as the actual processing
66   // capabilities of the component. 
67
68   /** interface function, see AliHLTComponent for description */
69   int DoInit( int argc, const char** argv );
70   /** interface function, see AliHLTComponent for description */
71   int DoDeinit();
72   /** interface function, see AliHLTComponent for description */
73   int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
74
75   int Reconfigure(const char* cdbEntry, const char* chainId);
76
77   using AliHLTProcessor::DoEvent;
78   
79 private:
80   /** copy constructor prohibited */
81   AliHLTITSQAComponent(const AliHLTITSQAComponent&);
82   /** assignment operator prohibited */
83   AliHLTITSQAComponent& operator=(const AliHLTITSQAComponent&);
84   /**
85    * Configure the component.
86    * Parse a string for the configuration arguments and set the component
87    * properties.
88    */ 
89   int Configure(const char* arguments);
90   
91   AliITSQADataMakerRec *fAliITSQADataMakerRec;// pointer to the main ctor   
92 /*  
93   AliRawReaderMemory* fRawReader;                             //!transient
94
95   AliITSDetTypeRec* fDettype;                                 //!transient
96
97   TClonesArray** fClusters;                                   //!transient
98
99   AliITSgeom* fgeom;                                          //!transient
100
101   AliITSInitGeometry* fgeomInit;                              //!transient
102
103   AliITSsegmentationSPD* fSegSPD;                                //!transient
104   AliITSsegmentationSDD* fSegSDD;                                //!transient
105   AliITSsegmentationSSD* fSegSSD;                                //!transient
106 */  
107   ClassDef(AliHLTITSQAComponent, 0);
108
109 };
110 #endif