]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSt2GeometryBuilder.cxx
Changed to use VStores (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONSt2GeometryBuilder.cxx
index e3d2b2b2bbd94c45d0fb8e9a2e2ead29a23d948b..8cc2496d4aa1a806b0922832d26f9bf33b8c7c00 100644 (file)
 
 #include "AliMUONSt2GeometryBuilder.h"
 #include "AliMUON.h"
-#include "AliMUONChamber.h"
+#include "AliMUONConstants.h"
 #include "AliMUONGeometryModule.h"
 #include "AliMUONGeometryEnvelopeStore.h"
 
+/// \cond CLASSIMP
 ClassImp(AliMUONSt2GeometryBuilder)
+/// \endcond
 
 //______________________________________________________________________________
 AliMUONSt2GeometryBuilder::AliMUONSt2GeometryBuilder(AliMUON* muon)
- : AliMUONVGeometryBuilder("st2.dat",
-                           muon->Chamber(2).GetGeometry(), 
-                          muon->Chamber(3).GetGeometry()),
+ : AliMUONVGeometryBuilder(2, 2), 
    fMUON(muon)
 {
-// Standard constructor
+/// Standard constructor
 
 }
 
@@ -50,36 +50,14 @@ AliMUONSt2GeometryBuilder::AliMUONSt2GeometryBuilder()
  : AliMUONVGeometryBuilder(),
    fMUON(0)
 {
-// Default constructor
+/// Default constructor
 }
 
 
 //______________________________________________________________________________
-AliMUONSt2GeometryBuilder::AliMUONSt2GeometryBuilder(const AliMUONSt2GeometryBuilder& rhs)
-  : AliMUONVGeometryBuilder(rhs)
+AliMUONSt2GeometryBuilder::~AliMUONSt2GeometryBuilder() 
 {
-// Protected copy constructor
-
-  AliFatal("Copy constructor is not implemented.");
-}
-
-//______________________________________________________________________________
-AliMUONSt2GeometryBuilder::~AliMUONSt2GeometryBuilder() {
-//
-}
-
-//______________________________________________________________________________
-AliMUONSt2GeometryBuilder& 
-AliMUONSt2GeometryBuilder::operator = (const AliMUONSt2GeometryBuilder& rhs) 
-{
-// Protected assignement operator
-
-  // check assignement to self
-  if (this == &rhs) return *this;
-
-  AliFatal("Assignment operator is not implemented.");
-    
-  return *this;  
+/// Destructor
 }
 
 //
@@ -89,7 +67,7 @@ AliMUONSt2GeometryBuilder::operator = (const AliMUONSt2GeometryBuilder& rhs)
 //______________________________________________________________________________
 void AliMUONSt2GeometryBuilder::CreateGeometry() 
 {
-// From AliMUONv1::CreateGeometry()
+/// From AliMUONv1::CreateGeometry()
 
 //
 //********************************************************************
@@ -117,10 +95,6 @@ void AliMUONSt2GeometryBuilder::CreateGeometry()
      Int_t irot2;
      fMUON->AliMatrix(irot2,  90.,  90., 90., 180., 0., 0.);
 
-     AliMUONChamber* iChamber = &fMUON->Chamber(2);
-     //     AliMUONChamber* iChamber1 = iChamber;
-     //     AliMUONChamber* iChamber2 = &fMUON->Chamber(3);
-     
      // Half of the total thickness of frame crosses (including DAlu)
      // for each chamber in stations 1 and 2:
      // 3% of X0 of composite material,
@@ -129,6 +103,12 @@ void AliMUONSt2GeometryBuilder::CreateGeometry()
      // DGas and DAlu not changed from standard values
      //     Double_t zfpos=-(iChamber->DGas()+dframez+iChamber->DAlu())/2;
              // The same parameters are defined in builder for station 1 
+
+     //    sensitive gas gap
+     const Float_t kDGas = 0.5;
+
+     //    3% radiation length of aluminum (X0=8.9 cm)      
+     // const Float_t kDAlu = 3.5 * 8.9 / 100.;
      
      // Mother volume
      // Outer excess and inner recess for mother volume radius
@@ -145,9 +125,9 @@ void AliMUONSt2GeometryBuilder::CreateGeometry()
 
      Float_t posx, posy, posz;
 //   Chamber Material represented by Alu sheet
-     tpar[0]= iChamber->RInner();
-     tpar[1]= iChamber->ROuter();
-     tpar[2] = (iChamber->DGas())/2;
+     tpar[0]= AliMUONConstants::Rmin(1);
+     tpar[1]= AliMUONConstants::Rmax(1);
+     tpar[2] = kDGas/2;
      tpar[3] = 0.;
      tpar[4] = 90.;
   
@@ -211,25 +191,23 @@ void AliMUONSt2GeometryBuilder::CreateGeometry()
 //______________________________________________________________________________
 void AliMUONSt2GeometryBuilder::SetTransformations()
 {
-// Defines the transformations for the station2 chambers.
-// ---
-
-  AliMUONChamber* iChamber1 = &fMUON->Chamber(2);
-  Double_t zpos1 = - iChamber1->Z(); 
-  iChamber1->GetGeometry()
-    ->SetTranslation(TGeoTranslation(0., 0., zpos1));
-
-  AliMUONChamber* iChamber2 = &fMUON->Chamber(3);
-  Double_t zpos2 = - iChamber2->Z(); 
-  iChamber2->GetGeometry()
-    ->SetTranslation(TGeoTranslation(0., 0., zpos2));
+/// Defines the transformations for the station2 chambers.
+
+  // Define chamber volumes as virtual
+  SetVolume(2, "SC03", true);
+  SetVolume(3, "SC04", true);
+
+  Double_t zpos1 = - AliMUONConstants::DefaultChamberZ(2); 
+  SetTranslation(2, TGeoTranslation(0., 0., zpos1));
+
+  Double_t zpos2 = - AliMUONConstants::DefaultChamberZ(3); 
+  SetTranslation(3, TGeoTranslation(0., 0., zpos2));
 }
 
 //______________________________________________________________________________
 void AliMUONSt2GeometryBuilder::SetSensitiveVolumes()
 {
-// Defines the sensitive volumes for station2 chambers.
-// ---
+/// Defines the sensitive volumes for station2 chambers.
 
   GetGeometry(2)->SetSensitiveVolume("S03G");
   GetGeometry(3)->SetSensitiveVolume("S04G");