* See cxx source for full Copyright notice */
/* $Id$ */
+// Revision of includes 07/05/2004
-/////////////////////////////////////////////////////////
-// Manager and hits classes for set:MUON version 1 //
-/////////////////////////////////////////////////////////
+/// \ingroup sim
+/// \class AliMUONv1
+/// \brief AliDetector class for MUON subsystem which implements
+/// functions for simulation
-#include "TLorentzVector.h"
-
#include "AliMUON.h"
+#include <TLorentzVector.h>
+
class TF1;
+class TF2;
class TGeoCombiTrans;
-
class TString;
class TGeoHMatrix;
-class AliMUONv1 : public AliMUON {
-public:
+class AliMUONv1 : public AliMUON
+{
+ public:
AliMUONv1();
- AliMUONv1(const char *name, const char *title);
+ AliMUONv1(const char *name, const char* title = "default");
virtual ~AliMUONv1();
virtual void CreateGeometry();
virtual void CreateMaterials();
+ virtual void UpdateInternalGeometry();
+ virtual void AddAlignableVolumes() const;
virtual void Init();
+
+ /// Return the version number of this detector
virtual Int_t IsVersion() const {return 1;}
+
virtual void StepManager();
- void StepManagerOld();
- void SetStepManagerVersionOld(Bool_t Opt)
- { fStepManagerVersionOld = Opt; }
+
+ /// Set option to take into account angle effect
void SetAngleEffect(Bool_t Opt)
{ fAngleEffect = Opt; }
+
+ /// Set option to take into account magnetic field effect
+ void SetMagEffect(Bool_t Opt)
+ { fMagEffect = Opt; }
+
+ /// Set max step max in active gas
void SetStepMaxInActiveGas(Float_t StepMax)
{fStepMaxInActiveGas = StepMax; }
-protected:
- Bool_t fStepManagerVersionOld; // Version of StepManager, Default is false
- Bool_t fAngleEffect; // Angle Effect along wires, Default is true
- Float_t fStepMaxInActiveGas; // Step max in active gas default 0.6cm
- virtual Int_t GetChamberId(Int_t volId) const;
- // StepManager
- Float_t * fStepSum; //!
- Float_t * fDestepSum; //!
-
- TLorentzVector fTrackMomentum; // Momentum of the particle entering in the active gas of chamber
- TLorentzVector fTrackPosition; // Position of the particle exiting the active gas of chamber
- TF1 * fElossRatio; // Ratio of particle mean eloss with respect MIP's
- 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)
- TF1 * fAngleEffectNorma;// Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis)
- TGeoCombiTrans* fGlobalTransformation; // global transformation
- // applied to the whole geometry
-private:
- // method
- void PlaceVolume(const TString& name, const TString& mName, Int_t copyNo,
- const TGeoHMatrix& matrix, Int_t npar, Double_t* param) const;
+ protected:
+ /// Not implemented
+ AliMUONv1(const AliMUONv1& right);
+ /// Not implemented
+ AliMUONv1& operator = (const AliMUONv1& right);
- ClassDef(AliMUONv1,1) // MUON Detector class Version 1
+ virtual Int_t GetGeomModuleId(Int_t volId) const;
+ TString CurrentVolumePath() const;
+ Bool_t fAngleEffect; ///< Angle Effect along wires, Default is true
+ Bool_t fMagEffect; ///< Magnetic Field Effect along wires, Default is true
+ Float_t fStepMaxInActiveGas; ///< Step max in active gas default 0.6cm
+ // StepManager
+ Float_t * fStepSum; //!< Sum of track steps per chamber
+ Float_t * fDestepSum; //!< Sum of energy deposits per chamber
+
+ TLorentzVector fTrackMomentum; ///< Momentum of the particle entering in the active gas of chamber
+ TLorentzVector fTrackPosition; ///< Position of the particle exiting the active gas of chamber
+ TF1 * fElossRatio; ///< Ratio of particle mean eloss with respect MIP's
+ 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)
+ TF1 * fAngleEffectNorma;///< Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis)
+ TF2 * fMagAngleEffectNorma;///< Magnetic field effect: Normalisation from theta=16 degres to theta between -20 and 20 (Lamia Benhabib jun 2006 Master Thesis)
+
+ ClassDef(AliMUONv1,6) // MUON Detector class Version 1
};
#endif