Update of the SSD on-line clusterfinder:
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSSSDQARecPointsComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTITSSSDQARECPOINTSCOMPONENT_H
4 #define ALIHLTITSSSDQARECPOINTSCOMPONENT_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   AliHLTITSSSDQARecPointsComponent.h
10     @author Ingrid Kielen
11     @brief  Component for the SSD clusters QA
12 */
13
14
15 #include "AliHLTProcessor.h"
16 #include "AliHLTITSSpacePointData.h"
17 #include "TClonesArray.h"
18 #include "AliITSRecPoint.h"
19
20 class AliHLTTPCConfMapper;
21
22 /**
23  * @class AliHLTITSSSDQARecPointsComponent
24  * Component for ploting charge in clusters
25  * 
26  * Component ID: \b ITSSSDQARecPoints <br>
27  * Library: \b libAliHLTITS.
28  *
29  * Mandatory arguments: <br>
30  * 
31  * 
32  * Optional arguments: <br>
33  * 
34  *
35  * @ingroup alihlt_tpc_components
36  */
37 class AliHLTITSSSDQARecPointsComponent : public AliHLTProcessor
38 {
39 public:
40   /** default constructor */
41  AliHLTITSSSDQARecPointsComponent();
42   /** destructor */
43   virtual ~AliHLTITSSSDQARecPointsComponent();
44
45   // Public functions to implement AliHLTComponent's interface.
46   // These functions are required for the registration process
47
48   /** interface function, see AliHLTComponent for description */
49   const char* GetComponentID();
50   /** interface function, see AliHLTComponent for description */
51   void GetInputDataTypes(AliHLTComponentDataTypeList& list);
52   /** interface function, see AliHLTComponent for description */
53   AliHLTComponentDataType GetOutputDataType();
54   /** interface function, see AliHLTComponent for description */
55   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
56   /** interface function, see AliHLTComponent for description */
57   AliHLTComponent* Spawn();
58
59 protected:
60
61   // Protected functions to implement AliHLTComponent's interface.
62   // These functions provide initialization as well as the actual processing
63   // capabilities of the component. 
64
65   /** interface function, see AliHLTComponent for description */
66   int DoInit(int argc, const char** argv);
67   /** interface function, see AliHLTComponent for description */
68   int DoDeinit();
69   /** interface function, see AliHLTComponent for description */
70   int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
71
72   using AliHLTProcessor::DoEvent;
73   
74 private:
75   /** copy constructor prohibited */
76  AliHLTITSSSDQARecPointsComponent(const AliHLTITSSSDQARecPointsComponent&);
77   /** assignment operator prohibited */
78  AliHLTITSSSDQARecPointsComponent& operator=(const AliHLTITSSSDQARecPointsComponent&);
79
80   static const Int_t fgkSSDMODULES = 1698;      //total number of SSD modules
81   static const Int_t fgkSSDLADDERSLAYER5 = 34; //ladders on layer 5
82   static const Int_t fgkSSDLADDERSLAYER6 = 38; //ladders on layer 6
83   static const Int_t fgkSSDMODULESPERLADDERLAYER5 = 22; //modules per ladder - layer 5
84   static const Int_t fgkSSDMODULESPERLADDERLAYER6 = 25; //modules per ladder - layer 6
85   static const Int_t fgkSSDMODULESLAYER5 = 748; //total number of SSD modules - layer5
86   static const Int_t fgkSSDMODULESLAYER6 = 950; //total number of SSD modules - layer6
87   static const Int_t fgkNumberOfPSideStrips = 768; //number of P-side strips
88    
89   TObjArray *fHistSSDArray; //TObjArray of the SSD QA histograms
90    
91   ClassDef(AliHLTITSSSDQARecPointsComponent, 0);
92
93 };
94 #endif