]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONv1.h
Declaring flange as MANY.
[u/mrichter/AliRoot.git] / MUON / AliMUONv1.h
index a59b1a6842f55522c2d53ab7929f3c230b170b35..9a4c5fa4d946fdc8e08e34ab8f7a9c872d79fd09 100644 (file)
@@ -4,49 +4,64 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id$ */
-/* $Id$ */
 
 /////////////////////////////////////////////////////////
-//  Manager and hits classes for set:MUON version 0    //
+//  Manager and hits classes for set:MUON version 1    //
 /////////////////////////////////////////////////////////
  
+#include "TLorentzVector.h"
+
 #include "AliMUON.h"
-#include <TF1.h>
+
+class TF1;
+class TGeoCombiTrans;
+
+class TString;
+class TGeoHMatrix;
 
 class AliMUONv1 : public AliMUON {
 public:
    AliMUONv1();
    AliMUONv1(const char *name, const char *title);
-   virtual  ~AliMUONv1() {}
+   virtual  ~AliMUONv1();
    virtual void   CreateGeometry();
    virtual void   CreateMaterials();
    virtual void   Init();
    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; }
+   void SetAngleEffect(Bool_t Opt) 
+     { fAngleEffect = Opt; }
    void SetStepMaxInActiveGas(Float_t StepMax)
      {fStepMaxInActiveGas = StepMax; }
 protected:
-   Int_t*  fStations; //! allow to externally set which station to create
+   AliMUONv1(const AliMUONv1& right);
+   AliMUONv1&  operator = (const AliMUONv1& right);
+
    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
+   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 char* only) const;
+
    ClassDef(AliMUONv1,1)  // MUON Detector class Version 1