Reducing number of MUON volumes directly placed in ALIC: at 1st level, MUON consists...
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 23 Mar 2005 10:23:04 +0000 (10:23 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 23 Mar 2005 10:23:04 +0000 (10:23 +0000)
MUON/AliMUONConstants.cxx
MUON/AliMUONSlatGeometryBuilder.cxx

index 44389f4..cadb786 100644 (file)
@@ -41,12 +41,14 @@ Float_t  AliMUONConstants::fgSqrtKy3St1 = 0.7550;
 
 Float_t  AliMUONConstants::fgChargeCorrel    = 0.11;
 Float_t  AliMUONConstants::fgChargeCorrelSt1 = 1.0; //???
-
+//Float_t  AliMUONConstants::fgDmin[7] = {  36.4,  46.2,  66.0,   80.,   80., 100., 100.};  
 Float_t  AliMUONConstants::fgPitch     = 0.25;
 Float_t  AliMUONConstants::fgPitchSt1  = 0.21; 
 
-Float_t  AliMUONConstants::fgDmin[7] = {  36.4,  46.2,  66.0,   80.,   80., 100., 100.};    
-Float_t  AliMUONConstants::fgDmax[7]  = {183., 245., 395.,  560.,  563., 850., 900.};  
+//Float_t  AliMUONConstants::fgDmin[7] = {  36.4,  46.2,  66.0,   80.,   80., 100., 100.};    
+Float_t  AliMUONConstants::fgDmin[7] = {  36.4,  46.2,  60.0,   76.,   76.5, 100., 100.};  
+//Float_t  AliMUONConstants::fgDmax[7]  = {183., 245., 395.,  560.,  563., 850., 900.};  
+Float_t  AliMUONConstants::fgDmax[7]  = {183., 245., 363.5,  560.,  563., 850., 900.};  
 Int_t    AliMUONConstants::fgMaxZoom = 20;
 
 //______________________________________________________________________________
index c941175..ae3b801 100644 (file)
@@ -254,7 +254,22 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
        iChamber2->GetGeometry()->SetMotherVolume("DDIP");
       }
 
-
+      if (!gAlice->GetModule("DIPO")) {
+       // Mother volume for each chamber in st3 are only defined if Dipole volue is there.
+       // Outer excess and inner recess for mother volume radius
+       // with respect to ROuter and RInner
+       Float_t dframep_in = 0.006; 
+       Float_t dframep_out= 0.006; 
+       Float_t tpar[3];
+       Double_t dstation =  ( (-iChamber2->Z()) - (-iChamber1->Z()) ) /2.1;
+       tpar[0] = iChamber1->RInner()-dframep_in; 
+       tpar[1] = (iChamber1->ROuter()+dframep_out);
+       tpar[2] = dstation;
+       gMC->Gsvolu("CH05", "TUBE", idAir, tpar, 3);
+       gMC->Gsvolu("CH06", "TUBE", idAir, tpar, 3);
+       iChamber1->GetGeometry()->SetVolume("CH05");
+       iChamber2->GetGeometry()->SetVolume("CH06");
+      }
       // volumes for slat geometry (xx=5,..,10 chamber id): 
       // Sxx0 Sxx1 Sxx2 Sxx3  -->   Slat Mother volumes 
       // SxxG                          -->   Sensitive volume (gas)
@@ -638,6 +653,22 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
 
     Float_t slatLength4[kNslats4];     
 
+
+    // Mother volume for each chamber
+    // Outer excess and inner recess for mother volume radius
+    // with respect to ROuter and RInner
+    Float_t dframep_in = 0.006; 
+    Float_t dframep_out= 0.006; 
+    Float_t tpar[3];
+    Double_t dstation =  ( (-iChamber2->Z()) - (-iChamber1->Z()) ) /2.1;
+    tpar[0] = iChamber1->RInner()-dframep_in; 
+    tpar[1] = (iChamber1->ROuter()+dframep_out);
+    tpar[2] = dstation;
+    gMC->Gsvolu("CH07", "TUBE", idAir, tpar, 3);
+    gMC->Gsvolu("CH08", "TUBE", idAir, tpar, 3);
+    iChamber1->GetGeometry()->SetVolume("CH07");
+    iChamber2->GetGeometry()->SetVolume("CH08");
+    
     // create and position the slat (mother) volumes 
 
     char idSlatCh7[5];
@@ -897,6 +928,21 @@ void AliMUONSlatGeometryBuilder::CreateGeometry()
     const Float_t kYpos5[kNslats5] = {0., 38.2, 37.9, 37.6, 37.3, 37.05, 36.75};
     Float_t slatLength5[kNslats5]; 
 
+    // Mother volume for each chamber
+    // Outer excess and inner recess for mother volume radius
+    // with respect to ROuter and RInner
+    Float_t dframep_in = 0.006; 
+    Float_t dframep_out= 0.006; 
+    Float_t tpar[3];
+    Double_t dstation =  ( (-iChamber2->Z()) - (-iChamber1->Z()) ) /2.3;
+    tpar[0] = iChamber1->RInner()-dframep_in; 
+    tpar[1] = (iChamber1->ROuter()+dframep_out);
+    tpar[2] = dstation;
+    gMC->Gsvolu("CH09", "TUBE", idAir, tpar, 3);
+    gMC->Gsvolu("CH10", "TUBE", idAir, tpar, 3);
+    iChamber1->GetGeometry()->SetVolume("CH09");
+    iChamber2->GetGeometry()->SetVolume("CH10");
+
     // create and position the slat (mother) volumes 
 
     char idSlatCh9[5];