From: martinez Date: Wed, 23 Mar 2005 10:23:04 +0000 (+0000) Subject: Reducing number of MUON volumes directly placed in ALIC: at 1st level, MUON consists... X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=6ffd4cb73d485fc6a051be53fdfcfe9c00d6ae85;ds=sidebyside Reducing number of MUON volumes directly placed in ALIC: at 1st level, MUON consists of 126 nodes (Ivana, Gines) --- diff --git a/MUON/AliMUONConstants.cxx b/MUON/AliMUONConstants.cxx index 44389f48e7c..cadb7860927 100644 --- a/MUON/AliMUONConstants.cxx +++ b/MUON/AliMUONConstants.cxx @@ -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; //______________________________________________________________________________ diff --git a/MUON/AliMUONSlatGeometryBuilder.cxx b/MUON/AliMUONSlatGeometryBuilder.cxx index c9411759d98..ae3b8019e5c 100644 --- a/MUON/AliMUONSlatGeometryBuilder.cxx +++ b/MUON/AliMUONSlatGeometryBuilder.cxx @@ -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];