(martin) add link for CorrectionMatrix2D class
[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 /// \ingroup base
10 /// \class AliMUONv1
11 /// \brief AliDetector class for MUON subsystem which implements
12 /// functions for simulation 
13  
14 #include "AliMUON.h"
15
16 #include <TLorentzVector.h>
17
18 class TF1;
19 class TGeoCombiTrans;
20 class TString;
21 class TGeoHMatrix;
22
23 class AliMUONv1 : public AliMUON 
24 {
25  public:
26    AliMUONv1();
27    AliMUONv1(const char *name, const char *title="FactoryV4",
28            const char* sDigitizerType="sdigitizer:AliMUONSDigitizerV2",
29            const char* digitizerType="digitizer:NewDigitizerWithNoiseOldTrigger");
30    virtual  ~AliMUONv1();
31    virtual void   CreateGeometry();
32    virtual void   CreateMaterials();
33    virtual void   Init();
34    virtual Int_t  IsVersion() const {return 1;}
35    virtual void   StepManager();
36                   //TBR
37    virtual void   StepManager2();
38
39    void SetStepManagerVersionOld(Bool_t Opt) 
40      { fStepManagerVersionOld = Opt; }
41    void SetStepManagerVersionDE(Bool_t Opt) 
42      { fStepManagerVersionDE = Opt; }
43    void SetAngleEffect(Bool_t Opt) 
44      { fAngleEffect = Opt; }
45    void SetStepMaxInActiveGas(Float_t StepMax)
46      {fStepMaxInActiveGas = StepMax; }
47
48  protected:
49    AliMUONv1(const AliMUONv1& right);
50    AliMUONv1&  operator = (const AliMUONv1& right);
51
52    virtual Int_t  GetChamberId(Int_t volId) const;
53    TString CurrentVolumePath() const;        
54
55    Bool_t  fStepManagerVersionOld; // Version of StepManager, Default is false
56    Bool_t  fStepManagerVersionDE;  // Version of StepManager with DE, Default is false
57    Bool_t  fAngleEffect; // Angle Effect along wires, Default is true
58    Float_t fStepMaxInActiveGas;    // Step max in active gas default 0.6cm
59
60    // StepManager 
61    Float_t *  fStepSum; //!
62    Float_t *  fDestepSum; //!
63   
64    TLorentzVector fTrackMomentum; // Momentum of the particle entering in the active gas of chamber
65    TLorentzVector fTrackPosition; // Position of the particle exiting the active gas of chamber
66    TF1 *          fElossRatio;    // Ratio of particle mean eloss with respect MIP's 
67    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)  
68    TF1 *          fAngleEffectNorma;// Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis)
69      
70    ClassDef(AliMUONv1,5)  // MUON Detector class Version 1
71 };
72 #endif
73
74
75
76
77
78
79