X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONv1.h;h=2aa8c941d55e18c852b83e42caf36e465ea52b24;hb=9684be2f9a684056b2f7dd5a8714a332500d1f96;hp=a59b1a6842f55522c2d53ab7929f3c230b170b35;hpb=abaf7c9d5db904fa85e9e24280c0d7708972ffc4;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONv1.h b/MUON/AliMUONv1.h index a59b1a6842f..2aa8c941d55 100644 --- a/MUON/AliMUONv1.h +++ b/MUON/AliMUONv1.h @@ -4,52 +4,67 @@ * See cxx source for full Copyright notice */ /* $Id$ */ -/* $Id$ */ +// Revision of includes 07/05/2004 -///////////////////////////////////////////////////////// -// Manager and hits classes for set:MUON version 0 // -///////////////////////////////////////////////////////// +/// \ingroup base +/// \class AliMUONv1 +/// \brief AliDetector class for MUON subsystem which implements +/// functions for simulation #include "AliMUON.h" -#include -class AliMUONv1 : public AliMUON { -public: +#include + +class TF1; +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(); - void StepManagerOld(); - void StepManagerNew(); - void StepManagerTest(); - - - void SetStepManagerVersionOld(Bool_t Opt) - { fStepManagerVersionOld = Opt; } - void SetStepManagerVersionNew(Bool_t Opt) - { fStepManagerVersionNew = Opt; } - void SetStepManagerVersionTest(Bool_t Opt) - { fStepManagerVersionTest = Opt; } + /// Set option to take into account angle effect + void SetAngleEffect(Bool_t Opt) + { fAngleEffect = Opt; } + + /// Set max step max in active gas void SetStepMaxInActiveGas(Float_t StepMax) {fStepMaxInActiveGas = StepMax; } -protected: - Int_t* fStations; //! allow to externally set which station to create - Bool_t fStepManagerVersionOld; // Version of StepManager, Default is false - Bool_t fStepManagerVersionNew; // Version of StepManager, Default is false - Bool_t fStepManagerVersionTest; // Version of StepManager, Default is false - Float_t fStepMaxInActiveGas; // Step mas in active gas default 0.6cm - virtual Int_t GetChamberId(Int_t volId) const; - - -private: - ClassDef(AliMUONv1,1) // MUON Detector class Version 1 - + protected: + AliMUONv1(const AliMUONv1& right); + 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 + 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) + + ClassDef(AliMUONv1,5) // MUON Detector class Version 1 }; #endif