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