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
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;}
+
protected:
/// Default constructor
AliMUONConstants() : 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 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
+
ClassDef(AliMUONConstants, 0) // MUON global constants
};
#endif
-
-
-
-
-
-
-