#include <BesDetectorConstruction.hh>
Public Member Functions | |
BesDetectorConstruction () | |
~BesDetectorConstruction () | |
G4VPhysicalVolume * | Construct () |
G4LogicalVolume * | FindLogicalVolume (const G4String &vn) |
void | SetPipeSCM (G4int value) |
void | SetVisAttributes (G4String volumeName) |
Private Attributes | |
BesMagneticField * | besField |
BesMdcConstruction * | mdc |
BesTofConstruction * | tof |
BesEmcConstruction * | emc |
BesMucConstruction * | muc |
BesSCM * | m_SCM |
BesPip * | m_Pip |
G4int | m_pipeSCM |
G4LogicalVolume * | lWorld |
G4VPhysicalVolume * | fWorld |
Definition at line 30 of file BesDetectorConstruction.hh.
BesDetectorConstruction::BesDetectorConstruction | ( | ) |
Definition at line 33 of file BesDetectorConstruction.cc.
References besField, emc, fWorld, ReadBoostRoot::GetField(), lWorld, m_Pip, m_pipeSCM, m_SCM, mdc, muc, and tof.
00034 { 00035 //create commands for interactive definition of the calorimeter 00036 //detectorMessenger = new BesDetectorMessenger(this); 00037 00038 if(ReadBoostRoot::GetField()) 00039 besField = new BesMagneticField(); 00040 00041 mdc = new BesMdcConstruction(); 00042 tof = new BesTofConstruction(); 00043 emc = new BesEmcConstruction(); 00044 muc = new BesMucConstruction(); 00045 m_SCM = new BesSCM(); 00046 m_Pip = new BesPip(); 00047 m_pipeSCM = 2; 00048 lWorld=0; 00049 fWorld=0; 00050 }
BesDetectorConstruction::~BesDetectorConstruction | ( | ) |
Definition at line 52 of file BesDetectorConstruction.cc.
References besField, emc, ReadBoostRoot::GetField(), m_Pip, m_SCM, mdc, muc, and tof.
00053 { 00054 G4cout<<"BesDetectorConstruction::~BesDetectorConstruction()"<<G4endl; 00055 if(ReadBoostRoot::GetField() && besField) 00056 delete besField; 00057 if(mdc) delete mdc; 00058 if(tof) delete tof; 00059 if(emc) delete emc; 00060 if(muc) delete muc; 00061 if(m_SCM) delete m_SCM; 00062 if(m_Pip) delete m_Pip; 00063 }
G4VPhysicalVolume * BesDetectorConstruction::Construct | ( | ) |
Definition at line 65 of file BesDetectorConstruction.cc.
References EvtCyclic3::C, BesMucConstruction::Construct(), BesEmcConstruction::Construct(), BesTofConstruction::Construct(), BesMdcConstruction::Construct(), BesSCM::Construct(), BesPip::Construct(), emc, fWorld, ReadBoostRoot::GetEmc(), ReadBoostRoot::GetMdc(), ReadBoostRoot::GetMuc(), ReadBoostRoot::GetTof(), H, I, lWorld, m_Pip, m_pipeSCM, m_SCM, mdc, muc, TrigConf::N, SetVisAttributes(), and tof.
00066 { 00067 if(m_pipeSCM != 2) 00068 { 00069 //define materials 00070 G4double a, z, density,abundance,fractionmass; 00071 G4double temperature, pressure; 00072 G4int iz,n,nel,ncomponents,natoms; 00073 G4String name,symbol; 00074 G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole); 00075 G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole); 00076 00077 G4Element* U = new G4Element(name="enriched Uranium",symbol="U",ncomponents=2); 00078 U->AddIsotope(U5, abundance= 90.*perCent); 00079 U->AddIsotope(U8, abundance= 10.*perCent); 00080 00081 a = 1.01*g/mole; 00082 G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); 00083 00084 a = 12.01*g/mole; 00085 G4Element* C = new G4Element(name="Carbon" ,symbol="C" , z= 6., a); 00086 00087 a = 14.01*g/mole; 00088 G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a); 00089 00090 a = 16.00*g/mole; 00091 G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); 00092 00093 a=28.09*g/mole; 00094 G4Element* Si = new G4Element(name="Silicon",symbol="Si",z=14.,a); 00095 00096 a=126.90447*g/mole; 00097 G4Element* I = new G4Element(name="Iodine",symbol="I",z=53.,a); 00098 00099 a=132.90545*g/mole; 00100 G4Element* Cs = new G4Element(name="Cesium",symbol="Cs",z=55.,a); 00101 00102 density = 1.848*g/cm3; 00103 a = 9.012182*g/mole; 00104 G4Material* Beryllium = new G4Material(name="Beryllium",z=4.0,a,density); 00105 00106 density = 2.70*g/cm3; 00107 a = 26.98*g/mole; 00108 G4Material* Aluminium = new G4Material(name="Aluminium",z=13.,a,density); 00109 00110 density = 7.84*g/cm3; 00111 a = 55.845*g/mole; 00112 G4Material* Iron = new G4Material(name="Iron",z=26.0,a,density); 00113 00114 density = 8.96*g/cm3; 00115 a = 63.546*g/mole; 00116 G4Material* Copper = new G4Material(name="Copper",z=29.0,a,density); 00117 00118 density = 0.0001664*g/cm3; 00119 a = 4.0026*g/mole; 00120 G4Material* Hegas = new G4Material(name="Hegas",z=2.0,a,density); 00121 00122 density = 0.001879*g/cm3; 00123 G4Material* Propane = new G4Material(name="Propane",density,nel=2); 00124 Propane->AddElement(C, natoms=3); 00125 Propane->AddElement(H, natoms=8); 00126 00127 density = 4.53*g/cm3; 00128 G4Material* Cesiumiodide = new G4Material(name="Cesiumiodide",density,nel=2); 00129 Cesiumiodide->AddElement(I, natoms=1); 00130 Cesiumiodide->AddElement(Cs, natoms=1); 00131 00132 density = 0.00085144*g/cm3; 00133 G4Material* Mdcgas = new G4Material(name="Mdcgas",density,nel=2); 00134 Mdcgas->AddMaterial(Hegas, fractionmass = 0.1173); 00135 Mdcgas->AddMaterial(Propane, fractionmass = 0.8827); 00136 00137 density = 1.390*g/cm3; 00138 a = 39.95*g/mole; 00139 G4Material* liquidArgon = new G4Material(name="liquidArgon",z=18.0,a,density); 00140 00141 density = 11.35*g/cm3; 00142 a = 207.19*g/mole; 00143 G4Material* Lead = new G4Material(name="Lead",z=82.,a,density); 00144 00145 density = 1.0*g/cm3; 00146 G4Material* Water = new G4Material(name="Water", density, nel=2); 00147 Water->AddElement(H, natoms=2); 00148 Water->AddElement(O, natoms=1); 00149 00150 density = 1.032*g/cm3; 00151 G4Material* Scintillator = new G4Material(name="Scintillator", density, nel=2); 00152 Scintillator->AddElement(C, natoms=9); 00153 Scintillator->AddElement(H, natoms=10); 00154 00155 density = 2.200*g/cm3; 00156 G4Material* SiO2 = new G4Material(name="SiO2", density, nel=2); 00157 SiO2->AddElement(Si, natoms=1); 00158 SiO2->AddElement(O, natoms=2); 00159 00160 density = 1.290*mg/cm3; 00161 G4Material* Air = new G4Material(name="Air",density,nel=2); 00162 Air->AddElement(N, fractionmass = 0.7); 00163 Air->AddElement(O, fractionmass = 0.3); 00164 00165 density = 0.200*g/cm3; 00166 G4Material* Aerogel = new G4Material(name="Aerogel",density,nel=3); 00167 Aerogel->AddMaterial(SiO2, fractionmass = 0.625); 00168 Aerogel->AddMaterial(Water, fractionmass = 0.374); 00169 Aerogel->AddElement(C, fractionmass = 0.001); 00170 00171 density = 27.0*mg/cm3; 00172 pressure = 50.0*atmosphere; 00173 temperature = 325.0*kelvin; 00174 G4Material* CarbonicGas = new G4Material(name="CarbonicGas",density,nel=2,kStateGas,temperature,pressure); 00175 CarbonicGas->AddElement(C,natoms=1); 00176 CarbonicGas->AddElement(O,natoms=2); 00177 00178 density = 0.3*mg/cm3; 00179 pressure = 2.0*atmosphere; 00180 temperature = 500.0*kelvin; 00181 G4Material* WaterSteam = new G4Material(name="WaterSteam",density,nel=1,kStateGas,temperature,pressure); 00182 WaterSteam->AddMaterial(Water,fractionmass=1); 00183 00184 density = universe_mean_density; 00185 pressure = 3.e-18*pascal; 00186 temperature = 2.73*kelvin; 00187 G4Material* Galactic = new G4Material(name="Galactic", z=1., a=1.01*g/mole, 00188 density,kStateGas,temperature,pressure); 00189 00190 density = 1.0e-5*g/cm3; 00191 pressure = 2.e-2*bar; 00192 G4Material* Beam = new G4Material(name="Beam",density,nel=1,kStateGas,STP_Temperature,pressure); 00193 Beam->AddMaterial(Air,fractionmass=1.0); 00194 00195 //construct world volume 00196 G4Box* sWorld = new G4Box("solidWorld",263.5*cm,263.5*cm,287.5*cm); 00197 lWorld = new G4LogicalVolume(sWorld,Air,"logicalWorld",0,0,0); 00198 fWorld = new G4PVPlacement(0,G4ThreeVector(0,0,0),lWorld,"physicWorld",0,false,0); 00199 //set visual attributes 00200 lWorld -> SetVisAttributes(G4VisAttributes::Invisible); 00201 00202 if( m_pipeSCM == 1 ) 00203 { 00204 G4cout<<"construct beampipe and SCM with Geant4 classes"<<G4endl; 00205 //construct beam pipe 00206 /* 00207 G4Tubs* sPipe = new G4Tubs("solidPipe",0.00*cm,3.58*cm,15.0*cm,0.*deg,360*deg); 00208 G4LogicalVolume* lPipe = new G4LogicalVolume(sPipe,Air,"logicalPipe",0,0,0); 00209 G4VPhysicalVolume* fPipe = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPipe,"physicPipe",lWorld,false,0); 00210 00211 G4Tubs* sPip1 = new G4Tubs("solidPip1",3.15*cm,3.23*cm,15.0*cm,0.*deg,360*deg); 00212 G4LogicalVolume* lPip1 = new G4LogicalVolume(sPip1,Beryllium,"logicalPip1",0,0,0); 00213 G4VPhysicalVolume* fPip1 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPip1,"physicPip1",lPipe,false,0); 00214 00215 G4Tubs* sPip2 = new G4Tubs("solidPip2",3.23*cm,3.53*cm,15.0*cm,0.*deg,360*deg); 00216 G4LogicalVolume* lPip2 = new G4LogicalVolume(sPip2,Hegas,"logicalPip2",0,0,0); 00217 G4VPhysicalVolume* fPip2 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPip2,"physicPip2",lPipe,false,0); 00218 00219 G4Tubs* sPip3 = new G4Tubs("solidPip3",3.53*cm,3.58*cm,15.0*cm,0.*deg,360*deg); 00220 G4LogicalVolume* lPip3 = new G4LogicalVolume(sPip3,Beryllium,"logicalPip3",0,0,0); 00221 G4VPhysicalVolume* fPip3 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPip3,"physicPip3",lPipe,false,0); 00222 //set visual attributes 00223 lPipe -> SetVisAttributes(G4VisAttributes::Invisible); 00224 lPip1 -> SetVisAttributes(G4VisAttributes::Invisible); 00225 lPip2 -> SetVisAttributes(G4VisAttributes::Invisible); 00226 lPip3 -> SetVisAttributes(G4VisAttributes::Invisible); 00227 */ 00228 m_Pip->Construct(lWorld); 00229 m_SCM->Construct(lWorld); 00230 /* 00231 //construct SCM 00232 G4Tubs* sCoil = new G4Tubs("solidCoil",137.5*cm,170.0*cm,195.5*cm,0.*deg,360*deg); 00233 G4LogicalVolume* lCoil = new G4LogicalVolume(sCoil,Air,"logicalCoil",0,0,0); 00234 G4VPhysicalVolume* fCoil = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil,"physicCoil",lWorld,false,0); 00235 00236 G4Tubs* sCoilin = new G4Tubs("solidCoilin",137.5*cm,138.1*cm,195.5*cm,0.*deg,360*deg); 00237 G4LogicalVolume* lCoilin = new G4LogicalVolume(sCoilin,Iron,"logicalCoilin",0,0,0); 00238 G4VPhysicalVolume* fCoilin = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoilin,"physicCoilin",lCoil,false,0); 00239 00240 G4Tubs* sCoilout = new G4Tubs("solidCoilout",168.4*cm,170.0*cm,195.5*cm,0.*deg,360*deg); 00241 G4LogicalVolume* lCoilout = new G4LogicalVolume(sCoilout,Iron,"logicalCoilout",0,0,0); 00242 G4VPhysicalVolume* fCoilout = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoilout,"physicCoilout",lCoil,false,0); 00243 00244 G4Tubs* sCoil1 = new G4Tubs("solidCoil1",144.5*cm,145.0*cm,179.5*cm,0.*deg,360*deg); 00245 G4LogicalVolume* lCoil1 = new G4LogicalVolume(sCoil1,Aluminium,"logicalCoil1",0,0,0); 00246 G4VPhysicalVolume* fCoil1 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil1,"physicCoil1",lCoil,false,0); 00247 00248 G4Tubs* sCoil2 = new G4Tubs("solidCoil2",157.5*cm,158.0*cm,179.5*cm,0.*deg,360*deg); 00249 G4LogicalVolume* lCoil2 = new G4LogicalVolume(sCoil2,Aluminium,"logicalCoil2",0,0,0); 00250 G4VPhysicalVolume* fCoil2 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil2,"physicCoil2",lCoil,false,0); 00251 00252 G4Tubs* sCoil3 = new G4Tubs("solidCoil3",148.0*cm,150.0*cm,179.5*cm,0.*deg,360*deg); 00253 G4LogicalVolume* lCoil3 = new G4LogicalVolume(sCoil3,Aluminium,"logicalCoil3",0,0,0); 00254 G4VPhysicalVolume* fCoil3 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil3,"physicCoil3",lCoil,false,0); 00255 00256 G4Tubs* sCoil4 = new G4Tubs("solidCoil4",148.8*cm,149.2*cm,179.5*cm,0.*deg,360*deg); 00257 G4LogicalVolume* lCoil4 = new G4LogicalVolume(sCoil4,Copper,"logicalCoil4",0,0,0); 00258 G4VPhysicalVolume* fCoil4 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil4,"physicCoil4",lCoil3,false,0); 00259 00260 G4Tubs* sCoil5 = new G4Tubs("solidCoil5",150.5*cm,152.7*cm,179.5*cm,0.*deg,360*deg); 00261 G4LogicalVolume* lCoil5 = new G4LogicalVolume(sCoil5,Aluminium,"logicalCoil5",0,0,0); 00262 G4VPhysicalVolume* fCoil5 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil5,"physicCoil5",lCoil,false,0); 00263 //set visual attributes 00264 lCoil -> SetVisAttributes(G4VisAttributes::Invisible); 00265 lCoilin -> SetVisAttributes(G4VisAttributes::Invisible); 00266 lCoilout -> SetVisAttributes(G4VisAttributes::Invisible); 00267 lCoil1 -> SetVisAttributes(G4VisAttributes::Invisible); 00268 lCoil2 -> SetVisAttributes(G4VisAttributes::Invisible); 00269 lCoil3 -> SetVisAttributes(G4VisAttributes::Invisible); 00270 lCoil4 -> SetVisAttributes(G4VisAttributes::Invisible); 00271 lCoil5 -> SetVisAttributes(G4VisAttributes::Invisible); 00272 */ 00273 } 00274 } 00275 00276 else if(m_pipeSCM == 2) 00277 { 00278 /* 00279 BesG4Geo* aBesG4Geo = new BesG4Geo(); 00280 00281 //construct with gdml file 00282 //G4String GeometryPath = ReadBoostRoot::GetBoostRoot(); 00283 //G4String GeometryPath = getenv("GDMLMANAGEMENTROOT"); 00284 if(!GeometryPath){ 00285 G4Exception("BOOST environment not set!"); 00286 } 00287 GeometryPath += "/dat/Bes.gdml"; 00288 00289 G4cout<<"construc beampipe and SCM from: "<<GeometryPath<<G4endl; 00290 00291 config.SetURI(GeometryPath); 00292 config.SetSetupName( "Default" ); 00293 config.SetSetupVersion( "1.0" ); 00294 config.SetType( "G4" ); 00295 sxp.Configure( &config ); 00296 sxp.Initialize(); 00297 sxp.Run(); 00298 00299 00300 fWorld=(G4VPhysicalVolume *)GDMLProcessor::GetInstance()->GetWorldVolume(); 00301 if( fWorld == 0 ) { 00302 G4Exception( 00303 "World volume not set properly check your setup selection criteria or GDML input!"); 00304 } 00305 00306 //make the world volume invisible 00307 lWorld = FindLogicalVolume("logicalWorld"); 00308 lWorld -> SetVisAttributes(G4VisAttributes::Invisible); 00309 00310 //make the material inside magnet coil invisible 00311 00312 G4LogicalVolume* lCoil = FindLogicalVolume("logicalCoil" ); 00313 lCoil -> SetVisAttributes(G4VisAttributes::Invisible); 00314 00315 G4LogicalVolume* lCoilin = FindLogicalVolume("logicalCoilin" ); 00316 lCoilin -> SetVisAttributes(G4VisAttributes::Invisible); 00317 00318 G4LogicalVolume* lCoilout = FindLogicalVolume("logicalCoilout" ); 00319 lCoilout -> SetVisAttributes(G4VisAttributes::Invisible); 00320 00321 G4LogicalVolume* lCoil1 = FindLogicalVolume("logicalCoil1"); 00322 lCoil1 -> SetVisAttributes(G4VisAttributes::Invisible); 00323 00324 G4LogicalVolume* lCoil2 = FindLogicalVolume("logicalCoil2"); 00325 lCoil2 -> SetVisAttributes(G4VisAttributes::Invisible); 00326 00327 G4LogicalVolume* lCoil3 = FindLogicalVolume("logicalCoil3"); 00328 lCoil3 -> SetVisAttributes(G4VisAttributes::Invisible); 00329 00330 G4LogicalVolume* lCoil4 = FindLogicalVolume("logicalCoil4"); 00331 lCoil4 -> SetVisAttributes(G4VisAttributes::Invisible); 00332 00333 G4LogicalVolume* lCoil5 = FindLogicalVolume("logicalCoil5"); 00334 lCoil5 -> SetVisAttributes(G4VisAttributes::Invisible); 00335 00336 delete aBesG4Geo; 00337 */ 00338 SetVisAttributes("Pip_SCM"); 00339 00340 } 00341 00342 //construct subdetectors 00343 if(ReadBoostRoot::GetMdc()) 00344 mdc->Construct(lWorld); 00345 if(ReadBoostRoot::GetTof()) 00346 tof->Construct(lWorld); 00347 if(ReadBoostRoot::GetEmc()) 00348 emc->Construct(lWorld); 00349 if(ReadBoostRoot::GetMuc()) 00350 muc->Construct(lWorld); 00351 00352 G4cout<<"get world "<<fWorld->GetLogicalVolume()->GetNoDaughters()<<endl; 00353 for(int nd = 0; nd < fWorld->GetLogicalVolume()->GetNoDaughters(); nd++) 00354 { 00355 G4cout<<"daughter n: name :"<<nd<<" "<<fWorld->GetLogicalVolume()->GetDaughter(nd)->GetName()<<G4endl; 00356 00357 } 00358 00359 return fWorld; 00360 }
G4LogicalVolume * BesDetectorConstruction::FindLogicalVolume | ( | const G4String & | vn | ) |
Definition at line 362 of file BesDetectorConstruction.cc.
Referenced by SetVisAttributes().
00363 { 00364 return const_cast<G4LogicalVolume*>( GDMLProcessor::GetInstance()->GetLogicalVolume(vn) ); 00365 }
void BesDetectorConstruction::SetPipeSCM | ( | G4int | value | ) | [inline] |
Definition at line 39 of file BesDetectorConstruction.hh.
References m_pipeSCM.
Referenced by BesSim::initialize().
00039 {m_pipeSCM = value;}
void BesDetectorConstruction::SetVisAttributes | ( | G4String | volumeName | ) |
Definition at line 367 of file BesDetectorConstruction.cc.
References FindLogicalVolume(), fWorld, and lWorld.
Referenced by Construct().
00368 { 00369 if(volumeName = "Pip_SCM") 00370 { 00371 BesG4Geo* aBesG4Geo = new BesG4Geo(); 00372 fWorld=(G4VPhysicalVolume *)GDMLProcessor::GetInstance()->GetWorldVolume(); 00373 if( fWorld == 0 ) { 00374 G4Exception( 00375 "World volume not set properly check your setup selection criteria or GDML input!"); 00376 } 00377 00378 //make the world volume invisible 00379 lWorld = FindLogicalVolume("logicalWorld"); 00380 lWorld -> SetVisAttributes(G4VisAttributes::Invisible); 00381 00382 //beam pipe 00383 00384 G4LogicalVolume* logicalPip = FindLogicalVolume("logicalPip"); 00385 G4LogicalVolume* logicalgoldLayer = FindLogicalVolume("logicalgoldLayer"); 00386 G4LogicalVolume* logicalinnerBe = FindLogicalVolume("logicalinnerBe"); 00387 G4LogicalVolume* logicaloilLayer = FindLogicalVolume("logicaloilLayer"); 00388 G4LogicalVolume* logicalouterBe = FindLogicalVolume("logicalouterBe"); 00389 G4LogicalVolume* logicalinnerBeSide = FindLogicalVolume("logicalinnerBeSide"); 00390 G4LogicalVolume* logicalinnerAl = FindLogicalVolume("logicalinnerAl"); 00391 G4LogicalVolume* logicalAlRing = FindLogicalVolume("logicalAlRing"); 00392 G4LogicalVolume* logicalouterAl = FindLogicalVolume("logicalouterAl"); 00393 G4LogicalVolume* logicalAgLayer = FindLogicalVolume("logicalAgLayer"); 00394 G4LogicalVolume* logicalCuLayer = FindLogicalVolume("logicalCuLayer"); 00395 G4LogicalVolume* logicalAlCover = FindLogicalVolume("logicalAlCover"); 00396 00397 logicalPip->SetVisAttributes(G4VisAttributes::Invisible); 00398 logicalgoldLayer->SetVisAttributes(G4VisAttributes::Invisible); 00399 logicalinnerBe->SetVisAttributes(G4VisAttributes::Invisible); 00400 logicaloilLayer->SetVisAttributes(G4VisAttributes::Invisible); 00401 logicalouterBe->SetVisAttributes(G4VisAttributes::Invisible); 00402 logicalinnerBeSide->SetVisAttributes(G4VisAttributes::Invisible); 00403 logicalinnerAl->SetVisAttributes(G4VisAttributes::Invisible); 00404 logicalAlRing->SetVisAttributes(G4VisAttributes::Invisible); 00405 logicalouterAl->SetVisAttributes(G4VisAttributes::Invisible); 00406 logicalAgLayer->SetVisAttributes(G4VisAttributes::Invisible); 00407 logicalCuLayer->SetVisAttributes(G4VisAttributes::Invisible); 00408 logicalAlCover->SetVisAttributes(G4VisAttributes::Invisible); 00409 00410 //SCM 00411 G4LogicalVolume* logicalSCM = FindLogicalVolume("logicalSCM"); 00412 G4LogicalVolume* logicalinnCryo = FindLogicalVolume("logicalinnCryo"); 00413 G4LogicalVolume* logicalouterCryo =FindLogicalVolume("logicalouterCryo"); 00414 G4LogicalVolume* logicalendCryo = FindLogicalVolume("logicalendCryo"); 00415 G4LogicalVolume* logicall1Adia = FindLogicalVolume("logicall1Adia"); 00416 G4LogicalVolume* logicall2Adia = FindLogicalVolume("logicall2Adia"); 00417 G4LogicalVolume* logicall3Adia = FindLogicalVolume("logicall3Adia"); 00418 G4LogicalVolume* logicall4Adia = FindLogicalVolume("logicall4Adia"); 00419 G4LogicalVolume* logicalinnShield = FindLogicalVolume("logicalinnShield"); 00420 G4LogicalVolume* logicaloutShield = FindLogicalVolume("logicaloutShield"); 00421 G4LogicalVolume* logicalendShield = FindLogicalVolume("logicalendShield"); 00422 G4LogicalVolume* logicall1insu = FindLogicalVolume("logicall1insu"); 00423 G4LogicalVolume* logicall2insu = FindLogicalVolume("logicall2insu"); 00424 G4LogicalVolume* logicalcoil = FindLogicalVolume("logicalcoil"); 00425 G4LogicalVolume* logicalendCoil = FindLogicalVolume("logicalendCoil"); 00426 G4LogicalVolume* logicalsupp = FindLogicalVolume("logicalsupp"); 00427 G4LogicalVolume* logicalpipe1 = FindLogicalVolume("logicalpipe1"); 00428 G4LogicalVolume* logicalpipe2 = FindLogicalVolume("logicalpipe2"); 00429 G4LogicalVolume* logicalpipe3 = FindLogicalVolume("logicalpipe3"); 00430 G4LogicalVolume* logicaltub17 = FindLogicalVolume("logicaltub17"); 00431 G4LogicalVolume* logicaltub19 = FindLogicalVolume("logicaltub19"); 00432 G4LogicalVolume* logicaltub20 = FindLogicalVolume("logicaltub20"); 00433 G4LogicalVolume* logicaltub22 = FindLogicalVolume("logicaltub22"); 00434 G4LogicalVolume* logicaltub23 = FindLogicalVolume("logicaltub23"); 00435 G4LogicalVolume* logicaltub25 = FindLogicalVolume("logicaltub25"); 00436 G4LogicalVolume* logicalsub1 = FindLogicalVolume("logicalsub1"); 00437 G4LogicalVolume* logicalsub2 = FindLogicalVolume("logicalsub2"); 00438 G4LogicalVolume* logicalsub3 = FindLogicalVolume("logicalsub3"); 00439 G4LogicalVolume* logicalhole1 = FindLogicalVolume("logicalhole1"); 00440 G4LogicalVolume* logicalhole2 = FindLogicalVolume("logicalhole2"); 00441 G4LogicalVolume* logicalhole3 = FindLogicalVolume("logicalhole3"); 00442 G4LogicalVolume* logicalhole4 = FindLogicalVolume("logicalhole4"); 00443 G4LogicalVolume* logicalhole5 = FindLogicalVolume("logicalhole5"); 00444 00445 // G4VisAttributes* visSCM1 = new G4VisAttributes(G4Colour(0.,0.,1.)); 00446 logicalSCM->SetVisAttributes(G4VisAttributes::Invisible); 00447 // logicalinnCryo->SetVisAttributes(visSCM1); 00448 logicalinnCryo->SetVisAttributes(G4VisAttributes::Invisible); 00449 // logicalouterCryo->SetVisAttributes(visSCM1); 00450 logicalouterCryo->SetVisAttributes(G4VisAttributes::Invisible); 00451 // logicalendCryo->SetVisAttributes(visSCM1); 00452 logicalendCryo->SetVisAttributes(G4VisAttributes::Invisible); 00453 // G4VisAttributes* visSCM2 = new G4VisAttributes(G4Colour(0.,1.,0.)); 00454 // logicall1Adia->SetVisAttributes(visSCM2); 00455 logicall1Adia->SetVisAttributes(G4VisAttributes::Invisible); 00456 // logicall2Adia->SetVisAttributes(visSCM2); 00457 logicall2Adia->SetVisAttributes(G4VisAttributes::Invisible); 00458 // logicall3Adia->SetVisAttributes(visSCM2); 00459 logicall3Adia->SetVisAttributes(G4VisAttributes::Invisible); 00460 // logicall4Adia->SetVisAttributes(visSCM2); 00461 logicall4Adia->SetVisAttributes(G4VisAttributes::Invisible); 00462 // G4VisAttributes* visSCM3 = new G4VisAttributes(G4Colour(1.,0.,0.)); 00463 // logicalinnShield->SetVisAttributes(visSCM3); 00464 logicalinnShield->SetVisAttributes(G4VisAttributes::Invisible); 00465 // logicaloutShield->SetVisAttributes(visSCM3); 00466 logicaloutShield->SetVisAttributes(G4VisAttributes::Invisible); 00467 // logicalendShield->SetVisAttributes(visSCM3); 00468 logicalendShield->SetVisAttributes(G4VisAttributes::Invisible); 00469 00470 // G4VisAttributes* visSCM4 = new G4VisAttributes(G4Colour(0.,1.,1.)); 00471 // logicall1insu->SetVisAttributes(visSCM4); 00472 logicall1insu->SetVisAttributes(G4VisAttributes::Invisible); 00473 // logicall2insu->SetVisAttributes(visSCM4); 00474 logicall2insu->SetVisAttributes(G4VisAttributes::Invisible); 00475 // G4VisAttributes* visSCM5 = new G4VisAttributes(G4Colour(1.,0.,1.)); 00476 // logicalcoil->SetVisAttributes(visSCM5); 00477 logicalcoil->SetVisAttributes(G4VisAttributes::Invisible); 00478 // logicalendCoil->SetVisAttributes(visSCM5); 00479 logicalendCoil->SetVisAttributes(G4VisAttributes::Invisible); 00480 // G4VisAttributes* visSCM6 = new G4VisAttributes(G4Colour(1.,1.,0.)); 00481 // logicalsupp->SetVisAttributes(visSCM6); 00482 logicalsupp->SetVisAttributes(G4VisAttributes::Invisible); 00483 // G4VisAttributes* visSCM7 = new G4VisAttributes(G4Colour(0.,0.,0.)); 00484 // logicalrein->SetVisAttributes(G4VisAttributes::Invisible); 00485 logicalpipe1->SetVisAttributes(G4VisAttributes::Invisible); 00486 // logicalpipe2->SetVisAttributes(visSCM2); 00487 logicalpipe2->SetVisAttributes(G4VisAttributes::Invisible); 00488 logicalpipe3->SetVisAttributes(G4VisAttributes::Invisible); 00489 // logicaltub17->SetVisAttributes(visSCM2); 00490 logicaltub17->SetVisAttributes(G4VisAttributes::Invisible); 00491 // logicaltub19->SetVisAttributes(visSCM5); 00492 logicaltub19->SetVisAttributes(G4VisAttributes::Invisible); 00493 // logicaltub20->SetVisAttributes(visSCM1); 00494 logicaltub20->SetVisAttributes(G4VisAttributes::Invisible); 00495 // logicaltub22->SetVisAttributes(visSCM1); 00496 logicaltub22->SetVisAttributes(G4VisAttributes::Invisible); 00497 // logicaltub23->SetVisAttributes(visSCM2); 00498 logicaltub23->SetVisAttributes(G4VisAttributes::Invisible); 00499 // logicaltub25->SetVisAttributes(visSCM5); 00500 logicaltub25->SetVisAttributes(G4VisAttributes::Invisible); 00501 // logicalsub1->SetVisAttributes(visSCM4); 00502 logicalsub1->SetVisAttributes(G4VisAttributes::Invisible); 00503 // logicalsub2->SetVisAttributes(visSCM4); 00504 logicalsub2->SetVisAttributes(G4VisAttributes::Invisible); 00505 00506 // logicalsub3->SetVisAttributes(visSCM4); 00507 logicalsub3->SetVisAttributes(G4VisAttributes::Invisible); 00508 // logicalhole1->SetVisAttributes(visSCM3); 00509 logicalhole1->SetVisAttributes(G4VisAttributes::Invisible); 00510 // logicalhole2->SetVisAttributes(visSCM3); 00511 logicalhole2->SetVisAttributes(G4VisAttributes::Invisible); 00512 // logicalhole3->SetVisAttributes(visSCM3); 00513 logicalhole3->SetVisAttributes(G4VisAttributes::Invisible); 00514 // logicalhole4->SetVisAttributes(visSCM3); 00515 logicalhole4->SetVisAttributes(G4VisAttributes::Invisible); 00516 // logicalhole5->SetVisAttributes(visSCM3); 00517 logicalhole5->SetVisAttributes(G4VisAttributes::Invisible); 00518 00519 delete aBesG4Geo; 00520 } 00521 }
Definition at line 44 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), and ~BesDetectorConstruction().
BesEmcConstruction* BesDetectorConstruction::emc [private] |
Definition at line 47 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and ~BesDetectorConstruction().
G4VPhysicalVolume* BesDetectorConstruction::fWorld [private] |
Definition at line 54 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and SetVisAttributes().
G4LogicalVolume* BesDetectorConstruction::lWorld [private] |
Definition at line 53 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and SetVisAttributes().
BesPip* BesDetectorConstruction::m_Pip [private] |
Definition at line 50 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and ~BesDetectorConstruction().
G4int BesDetectorConstruction::m_pipeSCM [private] |
Definition at line 52 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and SetPipeSCM().
BesSCM* BesDetectorConstruction::m_SCM [private] |
Definition at line 49 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and ~BesDetectorConstruction().
BesMdcConstruction* BesDetectorConstruction::mdc [private] |
Definition at line 45 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and ~BesDetectorConstruction().
BesMucConstruction* BesDetectorConstruction::muc [private] |
Definition at line 48 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and ~BesDetectorConstruction().
BesTofConstruction* BesDetectorConstruction::tof [private] |
Definition at line 46 of file BesDetectorConstruction.hh.
Referenced by BesDetectorConstruction(), Construct(), and ~BesDetectorConstruction().