X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONv1.h;h=0538b0ad6fef9969f4bde385ba40ec6f9a3311b5;hb=705e618657cdb51bdd37c3d79fa0af8cdbb4cc07;hp=82dff56e20f9524c2c9e78bb190c4f95b762c1be;hpb=ba030c0ecc4b8c2ce77d97f0759aacb6edb0e7d2;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONv1.h b/MUON/AliMUONv1.h index 82dff56e20f..0538b0ad6fe 100644 --- a/MUON/AliMUONv1.h +++ b/MUON/AliMUONv1.h @@ -4,27 +4,76 @@ * 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 AddAlignableVolumes() const; virtual void Init(); + + /// Return the version number of this detector virtual Int_t IsVersion() const {return 1;} + virtual void StepManager(); -protected: - Int_t* fStations; //! allow to externally set which station to create -private: - ClassDef(AliMUONv1,1) // MUON Detector class Version 1 + + /// 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