a9e2aefa |
1 | #ifndef ALIMUONV1_H |
2 | #define ALIMUONV1_H |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
6 | /* $Id$ */ |
30178c30 |
7 | // Revision of includes 07/05/2004 |
a9e2aefa |
8 | |
9 | ///////////////////////////////////////////////////////// |
acc838fd |
10 | // Manager and hits classes for set:MUON version 1 // |
a9e2aefa |
11 | ///////////////////////////////////////////////////////// |
12 | |
30178c30 |
13 | #include <TLorentzVector.h> |
1391e633 |
14 | |
a9e2aefa |
15 | #include "AliMUON.h" |
1391e633 |
16 | |
17 | class TF1; |
acc838fd |
18 | class TGeoCombiTrans; |
acc838fd |
19 | class TString; |
20 | class TGeoHMatrix; |
a9e2aefa |
21 | |
30178c30 |
22 | class AliMUONv1 : public AliMUON |
23 | { |
24 | public: |
a9e2aefa |
25 | AliMUONv1(); |
26 | AliMUONv1(const char *name, const char *title); |
acc838fd |
27 | virtual ~AliMUONv1(); |
a9e2aefa |
28 | virtual void CreateGeometry(); |
29 | virtual void CreateMaterials(); |
30 | virtual void Init(); |
31 | virtual Int_t IsVersion() const {return 1;} |
32 | virtual void StepManager(); |
c33d9661 |
33 | void StepManagerOld(); |
34 | void SetStepManagerVersionOld(Bool_t Opt) |
35 | { fStepManagerVersionOld = Opt; } |
374ebd7d |
36 | void SetAngleEffect(Bool_t Opt) |
37 | { fAngleEffect = Opt; } |
c33d9661 |
38 | void SetStepMaxInActiveGas(Float_t StepMax) |
39 | {fStepMaxInActiveGas = StepMax; } |
30178c30 |
40 | |
41 | protected: |
fb1bf5c0 |
42 | AliMUONv1(const AliMUONv1& right); |
43 | AliMUONv1& operator = (const AliMUONv1& right); |
44 | |
d4bb94a1 |
45 | virtual Int_t GetChamberId(Int_t volId) const; |
46 | |
c33d9661 |
47 | Bool_t fStepManagerVersionOld; // Version of StepManager, Default is false |
374ebd7d |
48 | Bool_t fAngleEffect; // Angle Effect along wires, Default is true |
1391e633 |
49 | Float_t fStepMaxInActiveGas; // Step max in active gas default 0.6cm |
abaf7c9d |
50 | |
1391e633 |
51 | // StepManager |
52 | Float_t * fStepSum; //! |
53 | Float_t * fDestepSum; //! |
d7c4fbc4 |
54 | |
55 | TLorentzVector fTrackMomentum; // Momentum of the particle entering in the active gas of chamber |
56 | TLorentzVector fTrackPosition; // Position of the particle exiting the active gas of chamber |
57 | TF1 * fElossRatio; // Ratio of particle mean eloss with respect MIP's |
58 | TF1 * fAngleEffect10; // Angle effect in tracking chambers at theta =10 degres as a function of ElossRatio (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis) (in micrometers) |
59 | TF1 * fAngleEffectNorma;// Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis) |
d4bb94a1 |
60 | |
30178c30 |
61 | private: |
acc838fd |
62 | // method |
63 | void PlaceVolume(const TString& name, const TString& mName, Int_t copyNo, |
6b82c1f0 |
64 | const TGeoHMatrix& matrix, Int_t npar, Double_t* param, |
65 | const char* only) const; |
acc838fd |
66 | |
9d6df3aa |
67 | ClassDef(AliMUONv1,2) // MUON Detector class Version 1 |
abaf7c9d |
68 | |
69 | |
a9e2aefa |
70 | }; |
71 | #endif |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |