]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PMD/AliPMDDigitizer.h
z_psa and z_psb bugs fixed
[u/mrichter/AliRoot.git] / PMD / AliPMDDigitizer.h
CommitLineData
b2b13ee2 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
18class TClonesArray;
19class TFile;
20
21class TObjArray;
22class TParticle;
23class TTree;
24class TNtuple;
25
26class AliLoader;
27class AliRunLoader;
28class AliRun;
29class AliDetector;
30class AliPMDhit;
31class AliHit;
32class AliHeader;
33
34class AliPMDcell;
35class AliPMDsdigit;
36class AliPMDdigit;
37class AliPMDClustering;
b2b13ee2 38class AliPMDrecpoint;
39
091a17ea 40//using namespace std;
b2b13ee2 41
42class 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