]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSt1GeometryBuilderV2.h
Fixing bug in generating error messages, where the wrong DDL was being indicated.
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1GeometryBuilderV2.h
index 5586aece6f4a67093d998123805c60782946b480..72c161f4369b1d533db6c750bbf70df82d7d5f46 100644 (file)
 
 #include "AliMUONVGeometryBuilder.h"
 
-#include "AliMpContainers.h"
-
-#ifdef WITH_ROOT
-  #include "TExMap.h"
-#endif
-
-#ifdef WITH_STL
-  #include <map>
-#endif
-
-#ifdef WITH_ROOT
-  typedef  TExMap  SpecialMap;
-#endif
-
-#ifdef WITH_STL
-  typedef map<Int_t , AliMUONSt1SpecialMotif> SpecialMap;
-#endif
+#include <TExMap.h>
 
 // typedef Float_t GReal_t; // for AliGeant3
 typedef Double_t GReal_t;  // for VirtualMC
@@ -53,6 +37,7 @@ class AliMUONSt1GeometryBuilderV2 : public AliMUONVGeometryBuilder
 
     virtual void CreateMaterials();
     virtual void CreateGeometry();
+    virtual void SetVolumes();
     virtual void SetTransformations();
     virtual void SetSensitiveVolumes();
    
@@ -118,6 +103,7 @@ class AliMUONSt1GeometryBuilderV2 : public AliMUONVGeometryBuilder
     static const char* fgkQuadrantMLayerName;///< prefix for automatic volume naming
     static const char* fgkQuadrantNLayerName;///< prefix for automatic volume naming
     static const char* fgkQuadrantFLayerName;///< prefix for automatic volume naming
+    static const char* fgkQuadrantMFLayerName;    ///< prefix for automatic volume naming
     static const char* fgkDaughterName;      ///< prefix for automatic volume naming
     static const Int_t fgkFoamBoxNameOffset; ///< coefficient for automatic volume naming
     static const Int_t fgkFR4BoxNameOffset;  ///< coefficient for automatic volume naming
@@ -129,20 +115,26 @@ class AliMUONSt1GeometryBuilderV2 : public AliMUONVGeometryBuilder
     void CreateHole();
     void CreateDaughterBoard();
     void CreateInnerLayers();
+    void CreateSpacer0();
+    void CreateSpacer();
     void CreateQuadrant(Int_t chamber);
     void CreateFoamBox(Int_t segNumber, const TVector2& dimensions);
     void CreatePlaneSegment(Int_t segNumber, const TVector2& dimensions,
                      Int_t nofHoles);
+    void CreateQuadrantLayersAsVolumes(Int_t chamber);
+    void CreateQuadrantLayersAsAssemblies(Int_t chamber);
     void CreateFrame(Int_t chamber);
 
     void PlaceInnerLayers(Int_t chamber);
-    void PlaceSector(AliMpSector* sector, SpecialMap specialMap,
+    void PlaceSpacer0(Int_t chamber);
+    void PlaceSector(const AliMpSector* sector, TExMap specialMap,
                      const TVector3& where, Bool_t reflectZ, Int_t chamber);
                     
     TString QuadrantEnvelopeName(Int_t chamber, Int_t quadrant) const;
     TString QuadrantMLayerName(Int_t chamber) const;
     TString QuadrantNLayerName(Int_t chamber) const;
     TString QuadrantFLayerName(Int_t chamber) const;
+    TString QuadrantMFLayerName(Int_t chamber) const;
     TString PlaneSegmentName(Int_t segNumber) const;
     TString FoamBoxName(Int_t segNumber) const;
     TString FR4BoxName(Int_t segNumber) const;
@@ -181,6 +173,10 @@ inline GReal_t AliMUONSt1GeometryBuilderV2::TotalHz() const
 inline TString AliMUONSt1GeometryBuilderV2::QuadrantMLayerName(Int_t chamber) const
 { return Form("%s%d",fgkQuadrantMLayerName,chamber); }
 
+/// Return middle quadrant frame layer name for chamber \a chamber
+inline TString AliMUONSt1GeometryBuilderV2::QuadrantMFLayerName(Int_t chamber) const
+{ return Form("%s%d",fgkQuadrantMFLayerName,chamber); }
+
 /// Return nearer quadrant layer name for chamber \a chamber
 inline TString AliMUONSt1GeometryBuilderV2::QuadrantNLayerName(Int_t chamber) const
 { return Form("%s%d",fgkQuadrantNLayerName,chamber); }