]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONv3.h
Correction of coding conventions: comments for all data members were added.
[u/mrichter/AliRoot.git] / MUON / AliMUONv3.h
index 5137f21086faccf745a2a2599ea3e39a980fa43e..914f6a6e6bea216da381d239e202b5e6d242dd2d 100644 (file)
@@ -3,23 +3,63 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+/* $Id$ */
+// Revision of includes 07/05/2004
+
 /////////////////////////////////////////////////////////
 //  Manager and hits classes for set:MUON version 3    //
 /////////////////////////////////////////////////////////
+//
+// Old MUONv1 class (to be removed later)
+// - now replaced with a new one where geometry and materials
+// are created using new geometry builders
+// (See ALIMUON*GeometryBuilder classes)
  
-#include "AliMUONv1.h"
+#include <TLorentzVector.h>
+
+#include "AliMUON.h"
+
+class TF1;
 
-class AliMUONv3 : public AliMUONv1 {
-public:
+class AliMUONv3 : public AliMUON 
+{
+ public:
    AliMUONv3();
    AliMUONv3(const char *name, const char *title);
    virtual  ~AliMUONv3() {}
+   virtual void   CreateGeometry();
+   virtual void   CreateMaterials();
+   virtual void   Init();
+   virtual Int_t  IsVersion() const {return 3;}
    virtual void   StepManager();
-protected:
-   
-private:
+   void StepManagerOld();
+   void SetStepManagerVersionOld(Bool_t Opt) 
+     { fStepManagerVersionOld = Opt; }
+   void SetAngleEffect(Bool_t Opt) 
+     { fAngleEffect = Opt; }
+   void SetStepMaxInActiveGas(Float_t StepMax)
+     {fStepMaxInActiveGas = StepMax; }
+
+ protected:
+   AliMUONv3(const AliMUONv3& right);
+   AliMUONv3&  operator = (const AliMUONv3& right);
+   Int_t*  fStations;              //! allow to externally set which station to create
+   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)
 
-   ClassDef(AliMUONv3,1)  // MUON Detector class Version 3
+   ClassDef(AliMUONv3,1)  // MUON Detector class Version 1
 };
 #endif