00001 // 00002 // $Id: AliFMD3.h,v 1.10 2006/03/24 01:47:24 cholm Exp $ 00003 // 00004 #ifndef ALIFMD3_H 00005 #define ALIFMD3_H 00006 00007 #ifndef ALIFMDDETECTOR_H 00008 # include "AliFMDDetector.h" 00009 #endif 00010 00017 class AliFMD3 : public AliFMDDetector 00018 { 00019 public: 00023 AliFMD3(AliFMDRing* inner, AliFMDRing* outer); 00025 virtual ~AliFMD3(){} 00026 00028 virtual void Init(); 00029 00031 void SetNoseZ(Double_t z=-46) { fNoseZ = z; } 00033 void SetNoseLowR(Double_t r=5.5) { fNoseLowR = r; } 00035 void SetNoseHighR(Double_t r=6.7) { fNoseHighR = r; } 00037 void SetNoseLength(Double_t l=2.8) { fNoseLength = l; } 00039 void SetBackLowR(Double_t r=61./2) { fBackLowR = r; } 00041 void SetBackHighR(Double_t r=66.8/2) { fBackHighR = r; } 00043 void SetBackLength(Double_t l=1.4) { fBackLength = l; } 00045 void SetBeamThickness(Double_t t=.5) { fBeamThickness = t; } 00047 void SetBeamWidth(Double_t w=6) { fBeamWidth = w; } 00049 void SetConeLength(Double_t l=30.9) { fConeLength = l; } 00051 void SetFlangeR(Double_t r=49.25) { fFlangeR = r; } 00053 void SetNBeam(Int_t n=8) { fNBeam = n; } 00055 void SetNFlange(Int_t n=4) { fNFlange = n; } 00056 00058 Double_t GetNoseZ() const { return fNoseZ; } 00060 Double_t GetNoseLowR() const { return fNoseLowR; } 00062 Double_t GetNoseHighR() const { return fNoseHighR; } 00064 Double_t GetNoseLength() const { return fNoseLength; } 00066 Double_t GetBackLowR() const { return fBackLowR; } 00068 Double_t GetBackHighR() const { return fBackHighR; } 00070 Double_t GetBackLength() const { return fBackLength; } 00072 Double_t GetBeamThickness() const { return fBeamThickness; } 00074 Double_t GetBeamWidth() const { return fBeamWidth; } 00076 Double_t GetConeLength() const { return fConeLength; } 00078 Double_t GetFlangeR() const { return fFlangeR; } 00080 Double_t GetZ() const { return fZ; } 00082 Double_t GetAlpha() const { return fAlpha; } 00084 Int_t GetNBeam() const { return fNBeam; } 00086 Int_t GetNFlange() const { return fNFlange; } 00087 00093 Double_t ConeR(Double_t z, Option_t* opt="O") const; 00094 00095 protected: 00096 Double_t fNoseZ; // Z position of front of nose 00097 Double_t fNoseLowR; // Nose inner radius 00098 Double_t fNoseHighR; // Nose outer radius 00099 Double_t fNoseLength; // Length of nose in Z 00100 Double_t fBackLowR; // Inner radius of base of cone 00101 Double_t fBackHighR; // Outer radius of base of cone 00102 Double_t fBackLength; // Length of base of cone in Z 00103 Double_t fBeamThickness; // Thickness of support beams 00104 Double_t fBeamWidth; // Width of support beams 00105 Double_t fConeLength; // Length of the cone in Z 00106 Double_t fFlangeR; // Outer radius of flanges 00107 Double_t fZ; // Midpoint of mother volume 00108 Double_t fAlpha; // Slope of cone 00109 Int_t fNBeam; // Number of support beams 00110 Int_t fNFlange; // Number of support flangesy 00111 ClassDef(AliFMD3, 1); 00112 }; 00113 00114 #endif 00115 //____________________________________________________________________ 00116 // 00117 // Local Variables: 00118 // mode: C++ 00119 // End: 00120 // 00121 // 00122 // EOF 00123 //