X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONv1.h;h=94ac7f7489ed47d6ec3edfe39937bfc783214a9b;hb=81d97d9ee03591d46a11d24cfe3eb81552ee81e5;hp=70c5ffe43c241115c1b7e22cd68c07c495a9847d;hpb=a9e2aefa97f1153d6f61e580a32d396156706b7b;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONv1.h b/MUON/AliMUONv1.h index 70c5ffe43c2..94ac7f7489e 100644 --- a/MUON/AliMUONv1.h +++ b/MUON/AliMUONv1.h @@ -4,25 +4,77 @@ * See cxx source for full Copyright notice */ /* $Id$ */ +// Revision of includes 07/05/2004 -///////////////////////////////////////////////////////// -// Manager and hits classes for set:MUON version 0 // -///////////////////////////////////////////////////////// +/// \ingroup sim +/// \class AliMUONv1 +/// \brief AliDetector class for MUON subsystem which implements +/// functions for simulation #include "AliMUON.h" -class AliMUONv1 : public AliMUON { -public: +#include + +class TF1; +class TF2; +class TGeoCombiTrans; +class TString; +class TGeoHMatrix; + +class AliMUONv1 : public AliMUON +{ + public: AliMUONv1(); - AliMUONv1(const char *name, const char *title); - virtual ~AliMUONv1() {} + 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(); -private: - ClassDef(AliMUONv1,1) //Hits manager for set:MUON version 0 + + /// 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: + /// Not implemented + AliMUONv1(const AliMUONv1& right); + /// Not implemented + AliMUONv1& operator = (const AliMUONv1& right); + + 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