]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALITRDV1_H | |
2 | #define ALITRDV1_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //////////////////////////////////////////////////////// | |
9 | // Manager and hits classes for set:TRD version 1 // | |
10 | //////////////////////////////////////////////////////// | |
11 | ||
12 | // Energy spectrum of the delta-rays | |
13 | Double_t Ermilova(Double_t *x, Double_t *par); | |
14 | Double_t IntSpecGeant(Double_t *x, Double_t *par); | |
15 | ||
16 | #include "AliTRD.h" | |
17 | ||
18 | class TF1; | |
19 | ||
20 | class AliTRDsim; | |
21 | ||
22 | //_____________________________________________________________________________ | |
23 | class AliTRDv1 : public AliTRD { | |
24 | ||
25 | public: | |
26 | ||
27 | AliTRDv1(); | |
28 | AliTRDv1(const char *name, const char *title); | |
29 | AliTRDv1(const AliTRDv1 &trd); | |
30 | virtual ~AliTRDv1(); | |
31 | AliTRDv1 &operator=(const AliTRDv1 &trd); | |
32 | ||
33 | virtual void Copy(TObject &trd); | |
34 | virtual void CreateGeometry(); | |
35 | virtual void CreateMaterials(); | |
36 | virtual void CreateTRhit(Int_t det); | |
37 | virtual Int_t IsVersion() const { return 1; }; | |
38 | virtual void StepManager(); | |
39 | virtual void Init(); | |
40 | ||
41 | void StepManagerErmilova(); | |
42 | void StepManagerGeant(); | |
43 | void StepManagerFixedStep(); | |
44 | void SelectStepManager(Int_t t); | |
45 | void SetStepSize(Double_t s) { fStepSize = s; }; | |
46 | ||
47 | void SetSensPlane(Int_t iplane = 0); | |
48 | void SetSensChamber(Int_t ichamber = 0); | |
49 | void SetSensSector(Int_t isector); | |
50 | void SetSensSector(Int_t isector, Int_t nsector); | |
51 | ||
52 | AliTRDsim *CreateTR(); | |
53 | ||
54 | Int_t GetSensPlane() const { return fSensPlane; }; | |
55 | Int_t GetSensChamber() const { return fSensChamber; }; | |
56 | Int_t GetSensSector() const { return fSensSector; }; | |
57 | Int_t GetSensSectorRange() const { return fSensSectorRange; }; | |
58 | ||
59 | AliTRDsim *GetTR() const { return fTR; }; | |
60 | ||
61 | protected: | |
62 | ||
63 | void *StepManagerEntity(); | |
64 | ||
65 | Int_t fSensSelect; // Switch to select only parts of the detector | |
66 | Int_t fSensPlane; // Sensitive detector plane | |
67 | Int_t fSensChamber; // Sensitive detector chamber | |
68 | Int_t fSensSector; // Sensitive detector sector | |
69 | Int_t fSensSectorRange; // Sensitive detector range | |
70 | ||
71 | AliTRDsim *fTR; // TR simulator | |
72 | ||
73 | Int_t fTypeOfStepManager; // Type of Step Manager. | |
74 | Double_t fStepSize; // Used for the fixed step size | |
75 | ||
76 | private: | |
77 | ||
78 | virtual Double_t BetheBloch(Double_t bg); | |
79 | ||
80 | TF1 *fDeltaE; // Energy distribution of the delta-electrons (Ermilova) | |
81 | TF1 *fDeltaG; // for StepManagerGeant | |
82 | ||
83 | ClassDef(AliTRDv1,3) // Transition Radiation Detector version 1 (slow simulator) | |
84 | ||
85 | }; | |
86 | ||
87 | #endif |