]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PMD/AliPMDDigitizer.h
removed pmdcontainer
[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 #include <vector>
16 #include <algorithm>
17
18 class TClonesArray;
19 class TFile;
20
21 class TObjArray;
22 class TParticle;
23 class TTree;
24 class TNtuple;
25
26 class AliLoader;
27 class AliRunLoader;
28 class AliRun;
29 class AliDetector;
30 class AliPMDhit;
31 class AliHit;
32 class AliHeader;
33
34 class AliPMDcell;
35 class AliPMDsdigit;
36 class AliPMDdigit;
37 class AliPMDClustering;
38 class AliPMDrecpoint;
39
40 using namespace std;
41
42 class AliPMDDigitizer
43 {
44  protected:
45   AliRunLoader *fRunLoader;
46   AliRun       *gAlice;
47   AliPMDhit    *pmdHit;   /* Pointer to specific detector hits. */
48   AliDetector  *PMD;      /* Get pointers to Alice detectors 
49                              and Hits containers */
50   AliLoader    *pmdloader;
51
52   TClonesArray *PMDhits;
53   TObjArray    *Particles;
54   TParticle    *particle;
55
56   TTree        *treeH;
57   TTree        *treeS;
58   TTree        *treeD;
59   TTree        *treeR;
60
61   TClonesArray *fSDigits;
62   TClonesArray *fDigits;
63   TClonesArray *fRecpoints;
64
65   TObjArray    *fCell;
66   AliPMDcell   *pmdcell;
67   vector<int> vjunkTRN;
68
69   Int_t fNsdigit;
70   Int_t fNdigit;
71   Int_t fDetNo;
72   Float_t fZPos;
73
74   static const Int_t fTotSM = 27;
75   static const Int_t fNCell = 72;
76   Float_t fCPV[fTotSM][fNCell][fNCell];
77   Float_t fPMD[fTotSM][fNCell][fNCell];
78   Int_t   fPMDCounter[fTotSM][fNCell][fNCell];
79   Int_t   fPMDTrackNo[fTotSM][fNCell][fNCell];
80   Int_t   fCPVTrackNo[fTotSM][fNCell][fNCell];
81
82  public:
83
84   AliPMDDigitizer();
85   virtual ~AliPMDDigitizer();
86
87   void OpengAliceFile(char * /* galice.root */, Option_t * /* option */);
88
89   void Hits2SDigits(Int_t /* ievt */);
90   void Hits2Digits(Int_t /* ievt */);
91   void SDigits2Digits(Int_t /* ievt */);
92   void TrackAssignment2Cell();
93   void MeV2ADC(Float_t /* mev */, Float_t & /* adc */);
94   void AddSDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */, 
95                  Int_t /* cellnumber */, Float_t /* adc */);
96   void AddDigit(Int_t /* trnumber */, Int_t /* det */, Int_t /* smnumber */, 
97                 Int_t /* cellnumber */, Float_t /* adc */);
98   Int_t Convert2RealSMNumber(Int_t /* smnumber1 */ );
99   void SetZPosition(Float_t /* zpos */);
100   Float_t GetZPosition() const;
101   void ResetCell();
102   void ResetSDigit();
103   void ResetDigit();
104   void ResetCellADC();
105   void UnLoad(Option_t * /* option */);
106
107   ClassDef(AliPMDDigitizer,1)
108 };
109 #endif
110