]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONConstants.h
remoe duplicate QA initialisation and do ESD QA for same detectors as RecPoint QA
[u/mrichter/AliRoot.git] / MUON / AliMUONConstants.h
index 6725d7dafbc5b01197359f418d3fbb55c4ae3b6b..9b9ede42c143f4104c4f0e5d3f5e761eee5bbc4d 100644 (file)
 class AliMUONConstants : public TObject {
  public:
     /// Return number of chambers
-    static Int_t    NCh() {return fgNCh;}
+  static Int_t    NCh();
     /// Return number of tracking chambers
-    static Int_t    NTrackingCh() {return fgNTrackingCh;}
+  static Int_t    NTrackingCh();
     /// Return number of tracking stations
     static Int_t    NTrackingSt() {return fgNTrackingSt;}
     /// Return number of trigger chambers
-    static Int_t    NTriggerCh() {return fgNTriggerCh;}
+    static Int_t    NTriggerCh() {return NCh()-NTrackingCh();}
     /// Return number of trigger circuits
     static Int_t    NTriggerCircuit() {return fgNTriggerCircuit;}
     /// Return number of detection element
@@ -51,7 +51,7 @@ class AliMUONConstants : public TObject {
     /// Return half-distance between two slats
     static Float_t  DzSlat()                 {return fgDzSlat;}
     /// Return chamber number according z position of hit.
-    static  Int_t ChamberNumber(Float_t z); 
+    static  Int_t ChamberNumber(Float_t z, bool warn = false); 
     /// Return SqrtKx3 for Slat
     static Float_t SqrtKx3()                 {return fgSqrtKx3;}
     /// Return SqrtKy3 for Slat
@@ -76,21 +76,34 @@ class AliMUONConstants : public TObject {
     static Double_t YokeZ() {return fgYokeZ;}
     /// Return yoke lenght
     static Double_t YokeL() {return fgYokeL;}
-    /// Return the z position of the end of the absorber
-    static Double_t ZAbsorberEnd() {return fgZAbsorberEnd;}
-    /// Return the number of elements making the absorber
-    static Int_t    NAbsorberElements() {return fgNAbsorberElements;}
-    /// Return the z position of the element "iElement" making the absorber
-    static Double_t ZAbsorberElement(Int_t iElement) {return ((iElement >= 0) && (iElement < fgNAbsorberElements)) ? fgZAbsorberElement[iElement] : 0.;}
-    /// Return the radiation lenght of the element "iElement" making the inner part of the absorber
-    static Double_t X0AbsorberIn(Int_t iElement) {return ((iElement >= 0) && (iElement < fgNAbsorberElements)) ? fgX0AbsorberIn[iElement] : -1.;}
-    /// Return the radiation lenght of the element "iElement" making the outer part of the absorber
-    static Double_t X0AbsorberOut(Int_t iElement) {return ((iElement >= 0) && (iElement < fgNAbsorberElements)) ? fgX0AbsorberOut[iElement] : -1.;}
+    /// Return z-position of absorber begining
+    static const Double_t AbsZBeg() {return fgkAbsZBeg;}
+    /// Return z-position of absorber end
+    static const Double_t AbsZEnd() {return fgkAbsZEnd;}
     /// Return chamber thickness in X0
     static Double_t ChamberThicknessInX0() {return fgChamberThicknessInX0;}
     /// Return Trigger ToF Limit (75 ns)
     static Float_t TriggerTofLimit() {return fgkTriggerTofLimit;}
+    /// Return default chamber resolution in non bending direction
+    static const Double_t DefaultNonBendingReso() {return fgkDefaultNonBendingReso;}
+    /// Return default chamber resolution**2 in non bending direction
+    static const Double_t DefaultNonBendingReso2() {return fgkDefaultNonBendingReso*fgkDefaultNonBendingReso;}
+    /// Return default chamber resolution in bending direction
+    static const Double_t DefaultBendingReso() {return fgkDefaultBendingReso;}
+    /// Return default chamber resolution**2 in bending direction
+    static const Double_t DefaultBendingReso2() {return fgkDefaultBendingReso*fgkDefaultBendingReso;}
+    /// Return default trigger chamber resolution in non bending direction
+    static const Double_t TriggerNonBendingReso() {return fgkTriggerNonBendingReso;}
+    /// Return default trigger chamber resolution in bending direction
+    static const Double_t TriggerBendingReso() {return fgkTriggerBendingReso;}
+    /// Return z-position of muon filter begining
+    static const Double_t MuonFilterZBeg() {return fgkMuonFilterZBeg;}
+    /// Return z-position of muon filter end
+    static const Double_t MuonFilterZEnd() {return fgkMuonFilterZEnd;}
+    /// Return radiation length (in cm) of muon filter
+    static const Double_t MuonFilterX0() {return fgkMuonFilterX0;}
+
+    
  protected:
     /// Default constructor
     AliMUONConstants() : TObject() {}
@@ -98,15 +111,14 @@ class AliMUONConstants : public TObject {
     virtual ~AliMUONConstants(){}
 
  private:
-    static Int_t  fgNCh;                ///<  Number of Chambers    
-    static Int_t  fgNTrackingCh;        ///<  Number of Tracking Chambers
     static Int_t  fgNTrackingSt;        ///<  Number of Tracking Stations
-    static Int_t  fgNTriggerCh;         ///<  Number of Trigger Chambers
     static Int_t  fgNTriggerCircuit;    ///<  Number of Trigger Circuits
     static Int_t  fgNDetElem;           ///<  Number of Detection Elements.
     static Int_t  fgNGeomModules;       ///<  Number of Geometry modules   
 
     static Float_t  fgDefaultChamberZ[14];             //!< Z-positions of chambers
+    static Float_t  fgDefaultChamberMinZ[14];          //!< Minimum z-positions of chambers
+    static Float_t  fgDefaultChamberMaxZ[14];          //!< Maximum z-positions of chambers
     static Float_t  fgDefaultRatioTriggerChamber[4];   ///< Ratio between trigger chambers
     static Float_t  fgSt345inclination;                        //!< Inclination with respect the vertical axis of stations 345
     static Float_t  fgDmin[7];                         //!< Inner diameter
@@ -132,24 +144,24 @@ class AliMUONConstants : public TObject {
     static Double_t fgYokeZ; ///< Yoke z-position
     static Double_t fgYokeL; ///< Yoke lenght
 
-    static Double_t fgZAbsorberEnd;            ///< Z position of the end of the absorber
-    static Int_t    fgNAbsorberElements;       ///< Number of elements making the absorber
-    static Double_t fgZAbsorberElement[5];     ///< Z positions of elements making the absorber
-    static Double_t fgX0AbsorberIn[5];         ///< Radiation lenght of materials in the inner part of the absorber (theta > 3 degrees)
-    static Double_t fgX0AbsorberOut[5];                ///< Radiation lenght of materials in the outer part of the absorber (theta > 3 degrees)
+    static const Double_t fgkAbsZBeg; ///< z-position of the begining of the absorber
+    static const Double_t fgkAbsZEnd; ///< z-position of the end of the absorber
     
     static Int_t    fgMaxZoom;          ///< Maximum Zoom for event display
     static Float_t  fgkTriggerTofLimit; ///< Particle above this threshold are discarded in trigger algorithm
     
+    static const Double_t fgkDefaultNonBendingReso; ///< default chamber resolution in the non-bending direction
+    static const Double_t fgkDefaultBendingReso; ///< default chamber resolution in the bending direction
+
+    static const Double_t fgkTriggerNonBendingReso; ///< default trigger chamber resolution in the non-bending direction
+    static const Double_t fgkTriggerBendingReso; ///< default trigger chamber resolution in the bending direction
+    
+    static const Double_t fgkMuonFilterZBeg; ///< z-position of the begining of the muon filter
+    static const Double_t fgkMuonFilterZEnd; ///< z-position of the end of the muon filter
+    static const Double_t fgkMuonFilterX0; ///< x0 of the muon filter
+    
     ClassDef(AliMUONConstants, 0) // MUON global constants 
 };
        
 #endif
 
-
-
-
-
-
-
-