]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | #ifndef TRDv1_H |
2 | #define TRDv1_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 1 // | |
10 | //////////////////////////////////////////////////////// | |
11 | ||
5c7f4665 | 12 | #include <TF1.h> |
fe4da5cc | 13 | #include "AliTRD.h" |
5c7f4665 | 14 | |
15 | // Energy spectrum of the delta-rays | |
16 | Double_t Ermilova(Double_t *x, Double_t *par); | |
17 | ||
fe4da5cc | 18 | class AliTRDv1 : public AliTRD { |
19 | ||
20 | public: | |
21 | AliTRDv1() {} | |
22 | AliTRDv1(const char *name, const char *title); | |
5c7f4665 | 23 | virtual ~AliTRDv1(); |
24 | virtual void CreateGeometry(); | |
25 | virtual void CreateMaterials(); | |
26 | virtual Int_t IsVersion() const { return 1; }; | |
27 | virtual void StepManager(); | |
28 | virtual void SetSensPlane(Int_t iplane = 0); | |
29 | virtual void SetSensChamber(Int_t ichamber = 0); | |
30 | virtual void SetSensSector(Int_t isector = 0); | |
31 | virtual void Init(); | |
32 | virtual void Hits2Digits(); | |
33 | virtual void Digits2Clusters(); | |
34 | ||
35 | virtual void SetGasGain(Float_t gasgain) { fGasGain = gasgain; }; | |
36 | virtual void SetNoise(Float_t noise) { fNoise = noise; }; | |
37 | virtual void SetChipGain(Float_t chipgain) { fChipGain = chipgain; }; | |
38 | virtual void SetADCoutRange(Float_t range) { fADCoutRange = range; }; | |
39 | virtual void SetADCinRange(Float_t range) { fADCinRange = range; }; | |
40 | virtual void SetADCthreshold(Int_t thresh) { fADCthreshold = thresh; }; | |
41 | virtual void SetDiffusionT(Float_t diff) { fDiffusionT = diff; }; | |
42 | virtual void SetDiffusionL(Float_t diff) { fDiffusionL = diff; }; | |
43 | ||
44 | virtual void SetClusMaxThresh(Float_t thresh) { fClusMaxThresh = thresh; }; | |
45 | virtual void SetClusSigThresh(Float_t thresh) { fClusSigThresh = thresh; }; | |
46 | virtual void SetClusMethod(Int_t meth) { fClusMethod = meth; }; | |
47 | ||
48 | virtual Float_t GetGasGain() { return fGasGain; }; | |
49 | virtual Float_t GetNoise() { return fNoise; }; | |
50 | virtual Float_t GetChipGain() { return fChipGain; }; | |
51 | virtual Float_t GetADCoutRange() { return fADCoutRange; }; | |
52 | virtual Float_t GetADCinRange() { return fADCinRange; }; | |
53 | virtual Int_t GetADCthreshold() { return fADCthreshold; }; | |
54 | virtual Float_t GetDiffusionT() { return fDiffusionT; }; | |
55 | virtual Float_t GetDiffusionL() { return fDiffusionL; }; | |
56 | ||
57 | virtual Float_t GetClusMaxThresh() { return fClusMaxThresh; }; | |
58 | virtual Float_t GetClusSigThresh() { return fClusSigThresh; }; | |
59 | virtual Int_t GetClusMethod() { return fClusMethod; }; | |
fe4da5cc | 60 | |
61 | protected: | |
5c7f4665 | 62 | Int_t fIdSens; // Sensitive volume identifier |
63 | ||
64 | Int_t fIdChamber1; // Driftchamber volume identifier | |
65 | Int_t fIdChamber2; // | |
66 | Int_t fIdChamber3; // | |
67 | ||
68 | Int_t fSensSelect; // Switch to select only parts of the detector | |
69 | Int_t fSensPlane; // Sensitive detector plane | |
70 | Int_t fSensChamber; // Sensitive detector chamber | |
71 | Int_t fSensSector; // Sensitive detector sector | |
72 | ||
73 | Float_t fGasGain; // Gas gain | |
74 | Float_t fNoise; // Electronics noise | |
75 | Float_t fChipGain; // Electronics gain | |
76 | Float_t fADCoutRange; // ADC output range (number of channels) | |
77 | Float_t fADCinRange; // ADC input range (input charge) | |
78 | Int_t fADCthreshold; // ADC threshold in ADC channel | |
79 | Float_t fDiffusionT; // Diffusion in transverse direction | |
80 | Float_t fDiffusionL; // Diffusion in logitudinal direction | |
82bbf98a | 81 | |
5c7f4665 | 82 | Float_t fClusMaxThresh; // Threshold value for cluster maximum |
83 | Float_t fClusSigThresh; // Threshold value for cluster signal | |
84 | Int_t fClusMethod; // Clustering method | |
82bbf98a | 85 | |
5c7f4665 | 86 | private: |
87 | virtual Double_t BetheBloch(Double_t bg); | |
88 | virtual void Diffusion(Float_t driftlength, Float_t *xyz); | |
89 | virtual Float_t PadResponse(Float_t x); | |
90 | virtual void Pads2XYZ(Float_t *pads, Float_t *pos); | |
91 | virtual Float_t Unfold(Float_t eps, Float_t *padSignal); | |
82bbf98a | 92 | |
5c7f4665 | 93 | TF1 *fDeltaE; // Energy distribution of the delta-electrons |
94 | ||
95 | ClassDef(AliTRDv1,1) // Transition Radiation Detector version 1 (slow simulator) | |
82bbf98a | 96 | |
fe4da5cc | 97 | }; |
98 | ||
99 | #endif |