]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | #ifndef TRDv2_H |
2 | #define TRDv2_H | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
fe4da5cc | 8 | //////////////////////////////////////////////////////// |
9 | // Manager and hits classes for set:TRD version 2 // | |
10 | //////////////////////////////////////////////////////// | |
11 | ||
d3f347ff | 12 | #include <TF1.h> |
fe4da5cc | 13 | #include "AliTRD.h" |
14 | ||
d3f347ff | 15 | // Energy spectrum of the delta-rays |
16 | Double_t Ermilova(Double_t *x, Double_t *par); | |
17 | ||
fe4da5cc | 18 | class AliTRDv2 : public AliTRD { |
19 | ||
20 | public: | |
21 | AliTRDv2() {} | |
22 | AliTRDv2(const char *name, const char *title); | |
99d5402e | 23 | virtual ~AliTRDv2(); |
24 | virtual void CreateGeometry(); | |
25 | virtual void CreateMaterials(); | |
26 | virtual Int_t IsVersion() const {return 2;} | |
27 | virtual void MakeBranch(Option_t* option); | |
28 | virtual void StepManager(); | |
29 | virtual void SetSensPlane(Int_t iplane = 0); | |
30 | virtual void SetSensChamber(Int_t ichamber = 0); | |
31 | virtual void SetSensSector(Int_t isector = 0); | |
32 | virtual void Init(); | |
33 | virtual void Hits2Digits(); | |
34 | ||
35 | virtual void SetRowPadSize(Float_t size) { fRowPadSize = size; }; | |
36 | virtual void SetColPadSize(Float_t size) { fColPadSize = size; }; | |
37 | virtual void SetTimeBinSize(Float_t size) { fTimeBinSize = size; }; | |
38 | ||
39 | virtual void SetGasGain(Float_t gasgain) { fGasGain = gasgain; }; | |
40 | virtual void SetNoise(Float_t noise) { fNoise = noise; }; | |
41 | virtual void SetChipGain(Float_t chipgain) { fChipGain = chipgain; }; | |
42 | virtual void SetADCoutRange(Float_t range) { fADCoutRange = range; }; | |
43 | virtual void SetADCinRange(Float_t range) { fADCinRange = range; }; | |
44 | virtual void SetADCthreshold(Int_t thresh) { fADCthreshold = thresh; }; | |
45 | virtual void SetDiffusionT(Float_t diff) { fDiffusionT = diff; }; | |
46 | virtual void SetDiffusionL(Float_t diff) { fDiffusionL = diff; }; | |
47 | ||
48 | virtual Float_t GetRowPadSize() { return fRowPadSize; }; | |
49 | virtual Float_t GetColPadSize() { return fColPadSize; }; | |
50 | virtual Float_t GetTimeBinSize() { return fTimeBinSize; }; | |
51 | ||
52 | virtual Float_t GetGasGain() { return fGasGain; }; | |
53 | virtual Float_t GetNoise() { return fNoise; }; | |
54 | virtual Float_t GetChipGain() { return fChipGain; }; | |
55 | virtual Float_t GetADCoutRange() { return fADCoutRange; }; | |
56 | virtual Float_t GetADCinRange() { return fADCinRange; }; | |
57 | virtual Int_t GetADCthreshold() { return fADCthreshold; }; | |
58 | virtual Float_t GetDiffusionT() { return fDiffusionT; }; | |
59 | virtual Float_t GetDiffusionL() { return fDiffusionL; }; | |
60 | ||
61 | virtual Int_t GetRowMax(Int_t iplan, Int_t icham) { return fRowMax[iplan-1][icham-1]; }; | |
62 | virtual Int_t GetColMax(Int_t iplan) { return fColMax[iplan-1]; }; | |
63 | virtual Int_t GetTimeMax() { return fTimeMax; }; | |
fe4da5cc | 64 | |
65 | protected: | |
99d5402e | 66 | Int_t fIdSens; // Sensitive volume identifier |
67 | ||
68 | Int_t fIdSpace1; // Spaceframe volume identifier | |
69 | Int_t fIdSpace2; // | |
70 | Int_t fIdSpace3; // | |
71 | ||
72 | Int_t fIdChamber1; // Driftchamber volume identifier | |
73 | Int_t fIdChamber2; // | |
74 | Int_t fIdChamber3; // | |
75 | ||
76 | Int_t fSensSelect; // Switch to select only parts of the detector | |
77 | Int_t fSensPlane; // Sensitive detector plane | |
78 | Int_t fSensChamber; // Sensitive detector chamber | |
79 | Int_t fSensSector; // Sensitive detector sector | |
82bbf98a | 80 | |
99d5402e | 81 | Int_t fRowMax[kNplan][kNcham]; // Number of pad-rows |
82 | Int_t fColMax[kNplan]; // Number of pad-columns | |
83 | Int_t fTimeMax; // Number of time buckets | |
82bbf98a | 84 | |
99d5402e | 85 | Float_t fRowPadSize; // Pad size in z-direction |
86 | Float_t fColPadSize; // Pad size in rphi-direction | |
87 | Float_t fTimeBinSize; // Size of the time buckets | |
82bbf98a | 88 | |
99d5402e | 89 | Float_t fGasGain; // Gas gain |
90 | Float_t fNoise; // Electronics noise | |
91 | Float_t fChipGain; // Electronics gain | |
92 | Float_t fADCoutRange; // ADC output range (number of channels) | |
93 | Float_t fADCinRange; // ADC input range (input charge) | |
94 | Int_t fADCthreshold; // ADC threshold in ADC channel | |
95 | Float_t fDiffusionT; // Diffusion in transverse direction | |
96 | Float_t fDiffusionL; // Diffusion in logitudinal direction | |
d3f347ff | 97 | |
fe4da5cc | 98 | private: |
d3f347ff | 99 | virtual Double_t BetheBloch(Double_t bg); |
99d5402e | 100 | virtual void Diffusion(Float_t driftlength, Float_t *xyz); |
101 | virtual Float_t PadResponse(Float_t x); | |
d3f347ff | 102 | |
99d5402e | 103 | TF1 *fDeltaE; // Energy distribution of the delta-electrons |
104 | ||
105 | ClassDef(AliTRDv2,1) // Transition Radiation Detector version 2 (slow simulator) | |
82bbf98a | 106 | |
fe4da5cc | 107 | }; |
108 | ||
109 | #endif |