STL vector and algorithm removed
[u/mrichter/AliRoot.git] / PMD / AliPMDDigitizer.h
1 #ifndef PMDDigitizer_H
2 #define PMDDigitizer_H
3 //-----------------------------------------------------//
4 //                                                     //
5 //  Header File : PMDDigitization.h, Version 00        //
6 //                                                     //
7 //  Date   : September 20 2002                         //
8 //                                                     //
9 //-----------------------------------------------------//
10
11 #include <Riostream.h>
12 #include <stdlib.h>
13 #include <math.h>
14 #include <TMath.h>
15
16 class TClonesArray;
17 class TFile;
18
19 class TObjArray;
20 class TParticle;
21 class TTree;
22 class TNtuple;
23
24 class AliLoader;
25 class AliRunLoader;
26 class AliRun;
27 class AliDetector;
28 class AliPMDhit;
29 class AliHit;
30 class AliHeader;
31
32 class AliPMDcell;
33 class AliPMDsdigit;
34 class AliPMDdigit;
35 class AliPMDClustering;
36
37 class AliPMDDigitizer
38 {
39  protected:
40   AliRunLoader *fRunLoader;
41   AliRun       *gAlice;
42   AliPMDhit    *pmdHit;   /* Pointer to specific detector hits. */
43   AliDetector  *PMD;      /* Get pointers to Alice detectors 
44                              and Hits containers */
45   AliLoader    *pmdloader;
46
47   TClonesArray *PMDhits;
48   TObjArray    *Particles;
49   TParticle    *particle;
50
51   TTree        *treeH;
52   TTree        *treeS;
53   TTree        *treeD;
54
55   TClonesArray *fSDigits;
56   TClonesArray *fDigits;
57
58   TObjArray    *fCell;
59   AliPMDcell   *pmdcell;
60
61   Int_t fNsdigit;
62   Int_t fNdigit;
63   Int_t fDetNo;
64   Float_t fZPos;
65
66   static const Int_t fTotUM = 24;
67   static const Int_t fRow   = 48;
68   static const Int_t fCol   = 96;
69   Float_t fCPV[fTotUM][fRow][fCol];
70   Float_t fPMD[fTotUM][fRow][fCol];
71   Int_t   fPMDCounter[fTotUM][fRow][fCol];
72   Int_t   fPMDTrackNo[fTotUM][fRow][fCol];
73   Int_t   fCPVTrackNo[fTotUM][fRow][fCol];
74
75  public:
76
77   AliPMDDigitizer();
78   virtual ~AliPMDDigitizer();
79
80   void OpengAliceFile(char * /* galice.root */, Option_t * /* option */);
81
82   void Hits2SDigits(Int_t /* ievt */);
83   void Hits2Digits(Int_t /* ievt */);
84   void SDigits2Digits(Int_t /* ievt */);
85   void TrackAssignment2Cell();
86   void MeV2ADC(Float_t /* mev */, Float_t & /* adc */);
87   void AddSDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */, 
88                  Int_t /* cellnumber */, Float_t /* adc */);
89   void AddDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */, 
90                 Int_t /* cellnumber */, Float_t /* adc */);
91   Int_t Convert2RealSMNumber(Int_t /* smnumber1 */ );
92   void SetZPosition(Float_t /* zpos */);
93   Float_t GetZPosition() const;
94   void ResetCell();
95   void ResetSDigit();
96   void ResetDigit();
97   void ResetCellADC();
98   void UnLoad(Option_t * /* option */);
99
100   ClassDef(AliPMDDigitizer,2)
101 };
102 #endif
103