]>
Commit | Line | Data |
---|---|---|
8230f242 | 1 | #ifndef ALITRDV1_H |
2 | #define ALITRDV1_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 | //////////////////////////////////////////////////////// | |
5c7f4665 | 11 | |
12 | // Energy spectrum of the delta-rays | |
13 | Double_t Ermilova(Double_t *x, Double_t *par); | |
a328fff9 | 14 | Double_t IntSpecGeant(Double_t *x, Double_t *par); |
851d3db9 | 15 | |
851d3db9 | 16 | #include "AliTRD.h" |
5c7f4665 | 17 | |
793ff80c | 18 | class TF1; |
c4214bc0 | 19 | class TTree; |
20 | class TFile; | |
793ff80c | 21 | class AliTRDsim; |
22 | ||
851d3db9 | 23 | //_____________________________________________________________________________ |
fe4da5cc | 24 | class AliTRDv1 : public AliTRD { |
25 | ||
851d3db9 | 26 | public: |
27 | ||
8230f242 | 28 | AliTRDv1(); |
fe4da5cc | 29 | AliTRDv1(const char *name, const char *title); |
dd9a6ee3 | 30 | AliTRDv1(const AliTRDv1 &trd); |
8230f242 | 31 | virtual ~AliTRDv1(); |
dd9a6ee3 | 32 | AliTRDv1 &operator=(const AliTRDv1 &trd); |
8230f242 | 33 | |
e0d47c25 | 34 | virtual void Copy(TObject &trd) const; |
793ff80c | 35 | virtual void CreateGeometry(); |
36 | virtual void CreateMaterials(); | |
37 | virtual void CreateTRhit(Int_t det); | |
38 | virtual Int_t IsVersion() const { return 1; }; | |
39 | virtual void StepManager(); | |
40 | virtual void Init(); | |
851d3db9 | 41 | |
a328fff9 | 42 | void StepManagerErmilova(); |
43 | void StepManagerGeant(); | |
44 | void StepManagerFixedStep(); | |
45 | void SelectStepManager(Int_t t); | |
46 | void SetStepSize(Double_t s) { fStepSize = s; }; | |
47 | ||
793ff80c | 48 | void SetSensPlane(Int_t iplane = 0); |
49 | void SetSensChamber(Int_t ichamber = 0); | |
50 | void SetSensSector(Int_t isector); | |
51 | void SetSensSector(Int_t isector, Int_t nsector); | |
851d3db9 | 52 | |
793ff80c | 53 | AliTRDsim *CreateTR(); |
54 | ||
55 | Int_t GetSensPlane() const { return fSensPlane; }; | |
56 | Int_t GetSensChamber() const { return fSensChamber; }; | |
57 | Int_t GetSensSector() const { return fSensSector; }; | |
58 | Int_t GetSensSectorRange() const { return fSensSectorRange; }; | |
59 | ||
60 | AliTRDsim *GetTR() const { return fTR; }; | |
851d3db9 | 61 | |
62 | protected: | |
63 | ||
a328fff9 | 64 | void *StepManagerEntity(); |
65 | ||
5c7f4665 | 66 | Int_t fSensSelect; // Switch to select only parts of the detector |
67 | Int_t fSensPlane; // Sensitive detector plane | |
68 | Int_t fSensChamber; // Sensitive detector chamber | |
9d0b222b | 69 | Int_t fSensSector; // Sensitive detector sector |
70 | Int_t fSensSectorRange; // Sensitive detector range | |
5c7f4665 | 71 | |
793ff80c | 72 | AliTRDsim *fTR; // TR simulator |
73 | ||
a328fff9 | 74 | Int_t fTypeOfStepManager; // Type of Step Manager. |
75 | Double_t fStepSize; // Used for the fixed step size | |
76 | ||
851d3db9 | 77 | private: |
82bbf98a | 78 | |
c4214bc0 | 79 | Double_t BetheBloch(Double_t bg); |
80 | Double_t BetheBlochGeant(Double_t bg); | |
81 | void Stepping(); | |
82 | ||
83 | TF1 *fDeltaE; // Energy distribution of the delta-electrons (Ermilova) | |
82bbf98a | 84 | |
c4214bc0 | 85 | TF1 *fDeltaG; // Energy distribution of the |
86 | // delta-electrons (GEANT) for StepManagerGeant | |
87 | Float_t fTrackLength0; // Save the track length at chamber entrance | |
88 | Int_t fPrimaryTrackPid; // Save the id of the primary track | |
82bbf98a | 89 | |
c4214bc0 | 90 | ClassDef(AliTRDv1,3) // Transition Radiation Detector version 1 (slow simulator) |
fe4da5cc | 91 | }; |
92 | ||
93 | #endif |