]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONv3.h
Further development on Mapping and Segmentation. Waiting for a critical review
[u/mrichter/AliRoot.git] / MUON / AliMUONv3.h
1 #ifndef ALIMUONV3_H
2 #define ALIMUONV3_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 3    //
11 /////////////////////////////////////////////////////////
12 //
13 // Old MUONv1 class (to be removed later)
14 // - now replaced with a new one where geometry and materials
15 // are created using new geometry builders
16 // (See ALIMUON*GeometryBuilder classes)
17  
18 #include <TLorentzVector.h>
19
20 #include "AliMUON.h"
21
22 class TF1;
23
24 class AliMUONv3 : public AliMUON 
25 {
26  public:
27    AliMUONv3();
28    AliMUONv3(const char *name, const char *title);
29    virtual  ~AliMUONv3() {}
30    virtual void   CreateGeometry();
31    virtual void   CreateMaterials();
32    virtual void   Init();
33    virtual Int_t  IsVersion() const {return 3;}
34    virtual void   StepManager();
35    void StepManagerOld();
36    void SetStepManagerVersionOld(Bool_t Opt) 
37      { fStepManagerVersionOld = Opt; }
38    void SetAngleEffect(Bool_t Opt) 
39      { fAngleEffect = Opt; }
40    void SetStepMaxInActiveGas(Float_t StepMax)
41      {fStepMaxInActiveGas = StepMax; }
42
43  protected:
44    AliMUONv3(const AliMUONv3& right);
45    AliMUONv3&  operator = (const AliMUONv3& right);
46    Int_t*  fStations;              //! allow to externally set which station to create
47    Bool_t  fStepManagerVersionOld; // Version of StepManager, Default is false
48    Bool_t  fAngleEffect; // Angle Effect along wires, Default is true
49    Float_t fStepMaxInActiveGas;    // Step max in active gas default 0.6cm
50    virtual Int_t  GetChamberId(Int_t volId) const;
51
52    // StepManager 
53    Float_t *  fStepSum; //!
54    Float_t *  fDestepSum; //!
55   
56    TLorentzVector fTrackMomentum; // Momentum of the particle entering in the active gas of chamber
57    TLorentzVector fTrackPosition; // Position of the particle exiting the active gas of chamber
58    TF1 *          fElossRatio;    // Ratio of particle mean eloss with respect MIP's 
59    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)  
60    TF1 *          fAngleEffectNorma;// Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis)
61
62    ClassDef(AliMUONv3,1)  // MUON Detector class Version 1
63 };
64 #endif
65
66
67
68
69
70
71