Incrementing class version
[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
8 /////////////////////////////////////////////////////////
9 //  Manager and hits classes for set:MUON version 1    //
10 /////////////////////////////////////////////////////////
11  
12 #include "TLorentzVector.h"
13
14 #include "AliMUON.h"
15
16 class TF1;
17 class TGeoCombiTrans;
18
19 class TString;
20 class TGeoHMatrix;
21
22 class AliMUONv1 : public AliMUON {
23 public:
24    AliMUONv1();
25    AliMUONv1(const char *name, const char *title);
26    virtual  ~AliMUONv1();
27    virtual void   CreateGeometry();
28    virtual void   CreateMaterials();
29    virtual void   Init();
30    virtual Int_t  IsVersion() const {return 1;}
31    virtual void   StepManager();
32    void StepManagerOld();
33    void SetStepManagerVersionOld(Bool_t Opt) 
34      { fStepManagerVersionOld = Opt; }
35    void SetAngleEffect(Bool_t Opt) 
36      { fAngleEffect = Opt; }
37    void SetStepMaxInActiveGas(Float_t StepMax)
38      {fStepMaxInActiveGas = StepMax; }
39 protected:
40    AliMUONv1(const AliMUONv1& right);
41    AliMUONv1&  operator = (const AliMUONv1& right);
42
43    Bool_t  fStepManagerVersionOld; // Version of StepManager, Default is false
44    Bool_t  fAngleEffect; // Angle Effect along wires, Default is true
45    Float_t fStepMaxInActiveGas;    // Step max in active gas default 0.6cm
46    virtual Int_t  GetChamberId(Int_t volId) const;
47
48    // StepManager 
49    Float_t *  fStepSum; //!
50    Float_t *  fDestepSum; //!
51   
52    TLorentzVector fTrackMomentum; // Momentum of the particle entering in the active gas of chamber
53    TLorentzVector fTrackPosition; // Position of the particle exiting the active gas of chamber
54    TF1 *          fElossRatio;    // Ratio of particle mean eloss with respect MIP's 
55    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)  
56    TF1 *          fAngleEffectNorma;// Angle effect: Normalisation form theta=10 degres to theta between 0 and 10 (Khalil BOUDJEMLINE sep 2003 Ph.D Thesis)
57    TGeoCombiTrans* fGlobalTransformation; // global transformation 
58                                   // applied to the whole geometry 
59 private:
60    // method
61    void PlaceVolume(const TString& name, const TString& mName, Int_t copyNo, 
62              const TGeoHMatrix& matrix, Int_t npar, Double_t* param,
63              const char* only) const;
64
65    ClassDef(AliMUONv1,2)  // MUON Detector class Version 1
66
67
68 };
69 #endif
70
71
72
73
74
75
76