From Laurent:
[u/mrichter/AliRoot.git] / MUON / AliMUONv1.h
1 #ifndef ALIMUONV1_H
2 #define ALIMUONV1_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7 // Revision of includes 07/05/2004
8
9 /////////////////////////////////////////////////////////
10 //  Manager and hits classes for set:MUON version 1    //
11 /////////////////////////////////////////////////////////
12  
13 #include <TLorentzVector.h>
14
15 #include "AliMUON.h"
16
17 class TF1;
18 class TGeoCombiTrans;
19 class TString;
20 class TGeoHMatrix;
21
22 class AliMUONv1 : public AliMUON 
23 {
24  public:
25    AliMUONv1();
26    AliMUONv1(const char *name, const char *title);
27    virtual  ~AliMUONv1();
28    virtual void   CreateGeometry();
29    virtual void   CreateMaterials();
30    virtual void   Init();
31    virtual Int_t  IsVersion() const {return 1;}
32    virtual void   StepManager();
33                   //TBR
34    virtual void   StepManager2();
35
36    void SetStepManagerVersionOld(Bool_t Opt) 
37      { fStepManagerVersionOld = Opt; }
38    void SetStepManagerVersionDE(Bool_t Opt) 
39      { fStepManagerVersionDE = Opt; }
40    void SetAngleEffect(Bool_t Opt) 
41      { fAngleEffect = Opt; }
42    void SetStepMaxInActiveGas(Float_t StepMax)
43      {fStepMaxInActiveGas = StepMax; }
44
45  protected:
46    AliMUONv1(const AliMUONv1& right);
47    AliMUONv1&  operator = (const AliMUONv1& right);
48
49    virtual Int_t  GetChamberId(Int_t volId) const;
50    TString CurrentVolumePath() const;        
51
52    Bool_t  fStepManagerVersionOld; // Version of StepManager, Default is false
53    Bool_t  fStepManagerVersionDE;  // Version of StepManager with DE, Default is false
54    Bool_t  fAngleEffect; // Angle Effect along wires, Default is true
55    Float_t fStepMaxInActiveGas;    // Step max in active gas default 0.6cm
56
57    // StepManager 
58    Float_t *  fStepSum; //!
59    Float_t *  fDestepSum; //!
60   
61    TLorentzVector fTrackMomentum; // Momentum of the particle entering in the active gas of chamber
62    TLorentzVector fTrackPosition; // Position of the particle exiting the active gas of chamber
63    TF1 *          fElossRatio;    // Ratio of particle mean eloss with respect MIP's 
64    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)  
65    TF1 *          fAngleEffectNorma;// Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis)
66
67    TObject* fFactory; //! to build segmentation (temporary, should not be needed with new segmentation scheme and its manager)
68          
69    ClassDef(AliMUONv1,4)  // MUON Detector class Version 1
70 };
71 #endif
72
73
74
75
76
77
78