]>
Commit | Line | Data |
---|---|---|
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$ */ | |
7 | ||
8 | ///////////////////////////////////////////////////////// | |
9 | // Manager and hits classes for set:MUON version 1 // | |
10 | ///////////////////////////////////////////////////////// | |
11 | ||
12 | #include "TLorentzVector.h" | |
13 | ||
14 | #include "AliMUON.h" | |
15 | ||
16 | class TF1; | |
17 | class TGeoCombiTrans; | |
18 | ||
19 | class TString; | |
20 | class TGeoHMatrix; | |
21 | ||
22 | class AliMUONv1 : public AliMUON { | |
23 | public: | |
24 | AliMUONv1(); | |
25 | AliMUONv1(const char *name, const char *title); | |
26 | virtual ~AliMUONv1(); | |
27 | virtual void CreateGeometry(); | |
28 | virtual void CreateMaterials(); | |
29 | virtual void Init(); | |
30 | virtual Int_t IsVersion() const {return 1;} | |
31 | virtual void StepManager(); | |
32 | void StepManagerOld(); | |
33 | void SetStepManagerVersionOld(Bool_t Opt) | |
34 | { fStepManagerVersionOld = Opt; } | |
35 | void SetAngleEffect(Bool_t Opt) | |
36 | { fAngleEffect = Opt; } | |
37 | void SetStepMaxInActiveGas(Float_t StepMax) | |
38 | {fStepMaxInActiveGas = StepMax; } | |
39 | protected: | |
40 | AliMUONv1(const AliMUONv1& right); | |
41 | AliMUONv1& operator = (const AliMUONv1& right); | |
42 | ||
43 | Bool_t fStepManagerVersionOld; // Version of StepManager, Default is false | |
44 | Bool_t fAngleEffect; // Angle Effect along wires, Default is true | |
45 | Float_t fStepMaxInActiveGas; // Step max in active gas default 0.6cm | |
46 | virtual Int_t GetChamberId(Int_t volId) const; | |
47 | ||
48 | // StepManager | |
49 | Float_t * fStepSum; //! | |
50 | Float_t * fDestepSum; //! | |
51 | ||
52 | TLorentzVector fTrackMomentum; // Momentum of the particle entering in the active gas of chamber | |
53 | TLorentzVector fTrackPosition; // Position of the particle exiting the active gas of chamber | |
54 | TF1 * fElossRatio; // Ratio of particle mean eloss with respect MIP's | |
55 | 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) | |
56 | TF1 * fAngleEffectNorma;// Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis) | |
57 | TGeoCombiTrans* fGlobalTransformation; // global transformation | |
58 | // applied to the whole geometry | |
59 | private: | |
60 | // method | |
61 | void PlaceVolume(const TString& name, const TString& mName, Int_t copyNo, | |
62 | const TGeoHMatrix& matrix, Int_t npar, Double_t* param, | |
63 | const char* only) const; | |
64 | ||
65 | ClassDef(AliMUONv1,1) // MUON Detector class Version 1 | |
66 | ||
67 | ||
68 | }; | |
69 | #endif | |
70 | ||
71 | ||
72 | ||
73 | ||
74 | ||
75 | ||
76 |