Line data Source code
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 : // Revision of includes 07/05/2004
8 :
9 : /// \ingroup sim
10 : /// \class AliMUONv1
11 : /// \brief AliDetector class for MUON subsystem which implements
12 : /// functions for simulation
13 :
14 : #include "AliMUON.h"
15 :
16 : #include <TLorentzVector.h>
17 :
18 : class TF1;
19 : class TF2;
20 : class TGeoCombiTrans;
21 : class TString;
22 : class TGeoHMatrix;
23 :
24 : class AliMUONv1 : public AliMUON
25 : {
26 : public:
27 : AliMUONv1();
28 : AliMUONv1(const char *name, const char* title = "default");
29 : virtual ~AliMUONv1();
30 : virtual void CreateGeometry();
31 : virtual void CreateMaterials();
32 : virtual void UpdateInternalGeometry();
33 : virtual void AddAlignableVolumes() const;
34 : virtual void Init();
35 :
36 : /// Return the version number of this detector
37 0 : virtual Int_t IsVersion() const {return 1;}
38 :
39 : virtual void StepManager();
40 :
41 : /// Set option to take into account angle effect
42 : void SetAngleEffect(Bool_t Opt)
43 0 : { fAngleEffect = Opt; }
44 :
45 : /// Set option to take into account magnetic field effect
46 : void SetMagEffect(Bool_t Opt)
47 0 : { fMagEffect = Opt; }
48 :
49 : /// Set max step max in active gas
50 : void SetStepMaxInActiveGas(Float_t StepMax)
51 0 : {fStepMaxInActiveGas = StepMax; }
52 :
53 : protected:
54 : /// Not implemented
55 : AliMUONv1(const AliMUONv1& right);
56 : /// Not implemented
57 : AliMUONv1& operator = (const AliMUONv1& right);
58 :
59 : virtual Int_t GetGeomModuleId(Int_t volId) const;
60 : TString CurrentVolumePath() const;
61 :
62 : Bool_t fAngleEffect; ///< Angle Effect along wires, Default is true
63 : Bool_t fMagEffect; ///< Magnetic Field Effect along wires, Default is true
64 : Float_t fStepMaxInActiveGas; ///< Step max in active gas default 0.6cm
65 :
66 : // StepManager
67 : Float_t * fStepSum; //!<! Sum of track steps per chamber
68 : Float_t * fDestepSum; //!<! Sum of energy deposits per chamber
69 :
70 : TLorentzVector fTrackMomentum; ///< Momentum of the particle entering in the active gas of chamber
71 : TLorentzVector fTrackPosition; ///< Position of the particle exiting the active gas of chamber
72 : TF1 * fElossRatio; ///< Ratio of particle mean eloss with respect MIP's
73 : 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)
74 : TF1 * fAngleEffectNorma;///< Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis)
75 : TF2 * fMagAngleEffectNorma;///< Magnetic field effect: Normalisation from theta=16 degres to theta between -20 and 20 (Lamia Benhabib jun 2006 Master Thesis)
76 :
77 1108 : ClassDef(AliMUONv1,6) // MUON Detector class Version 1
78 : };
79 : #endif
80 :
81 :
82 :
83 :
84 :
85 :
86 :
|