]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTriggerGeometryBuilder.h
Adding PiKP-only histograms and eliminating a number of switches where histograms...
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerGeometryBuilder.h
index 9f31619abf40251f230fd487ffd8da4bb6c9e9b7..70590f23046a0d30dd23da1cbbd92386c6b4cf68 100644 (file)
@@ -41,7 +41,88 @@ class AliMUONTriggerGeometryBuilder : public AliMUONVGeometryBuilder
     /// Not implemented
     AliMUONTriggerGeometryBuilder& operator = (const AliMUONTriggerGeometryBuilder& rhs);
 
-    AliMUON*  fMUON; ///< the MUON detector class 
+    // methods
+    void BuildChamberPrototype(Int_t icount) const;  
+    void BuildRPCSupportsVertical(Int_t& iVolNum, Int_t icount) const;    
+    void BuildRPCSupportsHorizontal(Int_t icount) const;    
+    void BuildAngularSupportForChambers(Int_t icount) const;  
+    void BuildGasPipes(Int_t icount) const;         
+    void BuildChamberTypeA(Int_t& iVolNum, Int_t icount);  
+    void BuildChamberTypeB(Int_t& iVolNum, Int_t icount);  
+    void BuildChamberTypeD(Int_t& iVolNum, Int_t icount);  
+    void BuildChamberTypeE(Int_t& iVolNum, Int_t icount);  
+    void BuildChamberTypeF(Int_t& iVolNum, Int_t icount);  
+
+    // constants
+    
+    static const Float_t fgkDXZERO; ///<  vertical gap between right and left chambers (kDXZERO*2=4cm)
+
+    // main distances for chamber definition in first plane/first station
+    static const Float_t fgkXMIN; ///< xmin distance in first plane/first station    
+    static const Float_t fgkXMED; ///< xmed distance in first plane/first station                                 
+    static const Float_t fgkXMAX; ///< xmax distance in first plane/first station  
+
+    // 090704 kXMAX changed from 272 to 255.
+    // (see fig.2-4 & 2-5 of Local Trigger Board PRR)
+    // segmentation updated accordingly
+    static const Float_t fgkYMIN; ///< add                             
+    static const Float_t fgkYMAX; ///< add                            
+
+    // inner/outer radius of flange between beam shield. and chambers (1/station)
+    //    static const Float_t fgkRMIN[2]={50.,50.};
+    //    static const Float_t fgkRMAX[2]={64.,68.};
+    // z position of the middle of the gas gap in mother vol 
+    static const Float_t fgkZm; ///< inner radius of flange between beam shield. and chambers (1/station)
+    static const Float_t fgkZp; ///< outer radius of flange between beam shield. and chambers (1/station)
+    
+    static const Float_t fgkYVSup[4]; ///< y positions of vertical supports
+
+    static const Float_t fgkSizeVSupExt[3]; ///< ext dimensions of vertical supports 
+    static const Float_t fgkSizeVSupInt[3]; ///< int dimensions of vertical supports  
+
+    static const Float_t fgkSizeSupport1V[3]; ///< transverse dimensions of 1V angular supports 
+    static const Float_t fgkSizeSupport1H[3]; ///< transverse dimensions of 1H angular supports 
+       // z should be 1.4 in the installed set-up 
+    static const Float_t fgkSizeSupport2V[3]; ///< transverse dimensions of 2V angular supports  
+    static const Float_t fgkSizeSupport2H[3]; ///< transverse dimensions of 2H angular supports  
+    static const Float_t fgkSizeSupportXV[3]; ///< transverse dimensions of XV angular supports 
+    static const Float_t fgkSizeSupportXH[3]; ///< transverse dimensions of XH angular supports 
+
+    static const Float_t fgkSizeSupportCable[3]; /// transverse dimensions of horizontal cable supports
+    static const Float_t fgkSizeGasPipe[3]; ///< dimensions of gas pipes (inner and outer radius)
+
+    static const Float_t fgkOffsetGasPipe;  ///< Position of gas pipe with respect to angular support
+    static const Float_t fgkAvoidExtrusion; ///<  Small cut on some volumes to avoid extrusion from SC1x
+    
+    // 
+    TString GetVolumeName(const TString& volume, Int_t icount) const; 
+    TString GetVolEnvName(Int_t icount, Int_t ienv) const; 
+    TString GetVolAluAngSuppName(
+                     const TString& type1234X, 
+                     const TString& typeHV,
+                     Int_t icount) const;                      
+    TString GetVolEnvSuppAngName(
+                     const TString& type1234X, 
+                     const TString& typeHV, 
+                     const TString& typeABDEF,
+                     Int_t icount, Int_t ivol) const;                      
+    TString GetVolEnvInoxGasPipeName(
+                     const TString& type12, 
+                     const TString& typeABCDEF,
+                     Int_t icount, Int_t ivol) const;                      
+                           
+    
+    // data members 
+    AliMUON*  fMUON;   ///< the MUON detector class 
+    Int_t*    fIdtmed; //!< tracking media   
+    Int_t     fIdAir;  //!< medium 1
+    Int_t     fIdAlu1; //!< medium 4
+    Int_t     fIdInox; //!< medium 29 Stainless Steel (18%Cr,9%Ni,Fe)
+    Float_t   fYEnvPsave; //!< add
+    Float_t   fYEnvMsave; //!< add
+    Float_t   fDYsave;    //!< add
+    Float_t   fDXsave;    //!< add
+    TGeoRotation fRsupportpipe; ///< pipe support rotation 
         
   ClassDef(AliMUONTriggerGeometryBuilder,1) // MUON Trigger stations geometry construction class
 };