BesDetectorConstruction Class Reference

#include <BesDetectorConstruction.hh>

List of all members.

Public Member Functions

 BesDetectorConstruction ()
 ~BesDetectorConstruction ()
G4VPhysicalVolume * Construct ()
G4LogicalVolume * FindLogicalVolume (const G4String &vn)
void SetPipeSCM (G4int value)
void SetVisAttributes (G4String volumeName)

Private Attributes

BesMagneticFieldbesField
BesMdcConstructionmdc
BesTofConstructiontof
BesEmcConstructionemc
BesMucConstructionmuc
BesSCMm_SCM
BesPipm_Pip
G4int m_pipeSCM
G4LogicalVolume * lWorld
G4VPhysicalVolume * fWorld


Detailed Description

Definition at line 30 of file BesDetectorConstruction.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }


Member Data Documentation

BesMagneticField* BesDetectorConstruction::besField [private]

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().


Generated on Tue Nov 29 23:17:29 2016 for BOSS_7.0.2 by  doxygen 1.4.7