BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
BesDetectorConstruction.cc
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//---------------------------------------------------------------------------//
4//Description: Using gdml in G4
5//Author: Liuhm
6//Created: May 25, 2003
7//Modified:
8//Comment:
9//---------------------------------------------------------------------------//
10//
11#include "BesDetectorConstruction.hh"
12#include "BesMagneticField.hh"
13
14#include "BesMdcConstruction.hh"
15#include "BesTofConstruction.hh"
16#include "BesEmcConstruction.hh"
17#include "BesMucConstruction.hh"
18
19#include "G4VisAttributes.hh"
20#include "G4Colour.hh"
21#include "globals.hh"
22#include <cstdlib>
23#include <fstream>
24#include "ReadBoostRoot.hh"
25#include "GDMLProcessor.hh"
26#include "GDMLExpressionEvaluator.hh"
27#include "G4Box.hh"
28#include "G4Tubs.hh"
29// Added here just to help resolve properly dependencies
30#include "G4BooleanSolid.hh"
31#include "G4Geo/BesG4Geo.h"
32
34{
35 //create commands for interactive definition of the calorimeter
36 //detectorMessenger = new BesDetectorMessenger(this);
37
39 besField = new BesMagneticField();
40
41 mdc = new BesMdcConstruction();
42 tof = new BesTofConstruction();
43 emc = new BesEmcConstruction();
44 muc = new BesMucConstruction();
45 m_SCM = new BesSCM();
46 m_Pip = new BesPip();
47 m_pipeSCM = 2;
48 lWorld=0;
49 fWorld=0;
50}
51
53{
54 G4cout<<"BesDetectorConstruction::~BesDetectorConstruction()"<<G4endl;
55 if(ReadBoostRoot::GetField() && besField)
56 delete besField;
57 if(mdc) delete mdc;
58 if(tof) delete tof;
59 if(emc) delete emc;
60 if(muc) delete muc;
61 if(m_SCM) delete m_SCM;
62 if(m_Pip) delete m_Pip;
63}
64
66{
67 if(m_pipeSCM != 2)
68 {
69 //define materials
70 G4double a, z, density,abundance,fractionmass;
71 G4double temperature, pressure;
72 G4int iz,n,nel,ncomponents,natoms;
73 G4String name,symbol;
74 G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole);
75 G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole);
76
77 G4Element* U = new G4Element(name="enriched Uranium",symbol="U",ncomponents=2);
78 U->AddIsotope(U5, abundance= 90.*perCent);
79 U->AddIsotope(U8, abundance= 10.*perCent);
80
81 a = 1.01*g/mole;
82 G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
83
84 a = 12.01*g/mole;
85 G4Element* C = new G4Element(name="Carbon" ,symbol="C" , z= 6., a);
86
87 a = 14.01*g/mole;
88 G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
89
90 a = 16.00*g/mole;
91 G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a);
92
93 a=28.09*g/mole;
94 G4Element* Si = new G4Element(name="Silicon",symbol="Si",z=14.,a);
95
96 a=126.90447*g/mole;
97 G4Element* I = new G4Element(name="Iodine",symbol="I",z=53.,a);
98
99 a=132.90545*g/mole;
100 G4Element* Cs = new G4Element(name="Cesium",symbol="Cs",z=55.,a);
101
102 density = 1.848*g/cm3;
103 a = 9.012182*g/mole;
104 G4Material* Beryllium = new G4Material(name="Beryllium",z=4.0,a,density);
105
106 density = 2.70*g/cm3;
107 a = 26.98*g/mole;
108 G4Material* Aluminium = new G4Material(name="Aluminium",z=13.,a,density);
109
110 density = 7.84*g/cm3;
111 a = 55.845*g/mole;
112 G4Material* Iron = new G4Material(name="Iron",z=26.0,a,density);
113
114 density = 8.96*g/cm3;
115 a = 63.546*g/mole;
116 G4Material* Copper = new G4Material(name="Copper",z=29.0,a,density);
117
118 density = 0.0001664*g/cm3;
119 a = 4.0026*g/mole;
120 G4Material* Hegas = new G4Material(name="Hegas",z=2.0,a,density);
121
122 density = 0.001879*g/cm3;
123 G4Material* Propane = new G4Material(name="Propane",density,nel=2);
124 Propane->AddElement(C, natoms=3);
125 Propane->AddElement(H, natoms=8);
126
127 density = 4.53*g/cm3;
128 G4Material* Cesiumiodide = new G4Material(name="Cesiumiodide",density,nel=2);
129 Cesiumiodide->AddElement(I, natoms=1);
130 Cesiumiodide->AddElement(Cs, natoms=1);
131
132 density = 0.00085144*g/cm3;
133 G4Material* Mdcgas = new G4Material(name="Mdcgas",density,nel=2);
134 Mdcgas->AddMaterial(Hegas, fractionmass = 0.1173);
135 Mdcgas->AddMaterial(Propane, fractionmass = 0.8827);
136
137 density = 1.390*g/cm3;
138 a = 39.95*g/mole;
139 G4Material* liquidArgon = new G4Material(name="liquidArgon",z=18.0,a,density);
140
141 density = 11.35*g/cm3;
142 a = 207.19*g/mole;
143 G4Material* Lead = new G4Material(name="Lead",z=82.,a,density);
144
145 density = 1.0*g/cm3;
146 G4Material* Water = new G4Material(name="Water", density, nel=2);
147 Water->AddElement(H, natoms=2);
148 Water->AddElement(O, natoms=1);
149
150 density = 1.032*g/cm3;
151 G4Material* Scintillator = new G4Material(name="Scintillator", density, nel=2);
152 Scintillator->AddElement(C, natoms=9);
153 Scintillator->AddElement(H, natoms=10);
154
155 density = 2.200*g/cm3;
156 G4Material* SiO2 = new G4Material(name="SiO2", density, nel=2);
157 SiO2->AddElement(Si, natoms=1);
158 SiO2->AddElement(O, natoms=2);
159
160 density = 1.290*mg/cm3;
161 G4Material* Air = new G4Material(name="Air",density,nel=2);
162 Air->AddElement(N, fractionmass = 0.7);
163 Air->AddElement(O, fractionmass = 0.3);
164
165 density = 0.200*g/cm3;
166 G4Material* Aerogel = new G4Material(name="Aerogel",density,nel=3);
167 Aerogel->AddMaterial(SiO2, fractionmass = 0.625);
168 Aerogel->AddMaterial(Water, fractionmass = 0.374);
169 Aerogel->AddElement(C, fractionmass = 0.001);
170
171 density = 27.0*mg/cm3;
172 pressure = 50.0*atmosphere;
173 temperature = 325.0*kelvin;
174 G4Material* CarbonicGas = new G4Material(name="CarbonicGas",density,nel=2,kStateGas,temperature,pressure);
175 CarbonicGas->AddElement(C,natoms=1);
176 CarbonicGas->AddElement(O,natoms=2);
177
178 density = 0.3*mg/cm3;
179 pressure = 2.0*atmosphere;
180 temperature = 500.0*kelvin;
181 G4Material* WaterSteam = new G4Material(name="WaterSteam",density,nel=1,kStateGas,temperature,pressure);
182 WaterSteam->AddMaterial(Water,fractionmass=1);
183
184 density = universe_mean_density;
185 pressure = 3.e-18*pascal;
186 temperature = 2.73*kelvin;
187 G4Material* Galactic = new G4Material(name="Galactic", z=1., a=1.01*g/mole,
188 density,kStateGas,temperature,pressure);
189
190 density = 1.0e-5*g/cm3;
191 pressure = 2.e-2*bar;
192 G4Material* Beam = new G4Material(name="Beam",density,nel=1,kStateGas,STP_Temperature,pressure);
193 Beam->AddMaterial(Air,fractionmass=1.0);
194
195 //construct world volume
196 G4Box* sWorld = new G4Box("solidWorld",263.5*cm,263.5*cm,287.5*cm);
197 lWorld = new G4LogicalVolume(sWorld,Air,"logicalWorld",0,0,0);
198 fWorld = new G4PVPlacement(0,G4ThreeVector(0,0,0),lWorld,"physicWorld",0,false,0);
199 //set visual attributes
200 lWorld -> SetVisAttributes(G4VisAttributes::Invisible);
201
202 if( m_pipeSCM == 1 )
203 {
204 G4cout<<"construct beampipe and SCM with Geant4 classes"<<G4endl;
205 //construct beam pipe
206/*
207 G4Tubs* sPipe = new G4Tubs("solidPipe",0.00*cm,3.58*cm,15.0*cm,0.*deg,360*deg);
208 G4LogicalVolume* lPipe = new G4LogicalVolume(sPipe,Air,"logicalPipe",0,0,0);
209 G4VPhysicalVolume* fPipe = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPipe,"physicPipe",lWorld,false,0);
210
211 G4Tubs* sPip1 = new G4Tubs("solidPip1",3.15*cm,3.23*cm,15.0*cm,0.*deg,360*deg);
212 G4LogicalVolume* lPip1 = new G4LogicalVolume(sPip1,Beryllium,"logicalPip1",0,0,0);
213 G4VPhysicalVolume* fPip1 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPip1,"physicPip1",lPipe,false,0);
214
215 G4Tubs* sPip2 = new G4Tubs("solidPip2",3.23*cm,3.53*cm,15.0*cm,0.*deg,360*deg);
216 G4LogicalVolume* lPip2 = new G4LogicalVolume(sPip2,Hegas,"logicalPip2",0,0,0);
217 G4VPhysicalVolume* fPip2 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPip2,"physicPip2",lPipe,false,0);
218
219 G4Tubs* sPip3 = new G4Tubs("solidPip3",3.53*cm,3.58*cm,15.0*cm,0.*deg,360*deg);
220 G4LogicalVolume* lPip3 = new G4LogicalVolume(sPip3,Beryllium,"logicalPip3",0,0,0);
221 G4VPhysicalVolume* fPip3 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lPip3,"physicPip3",lPipe,false,0);
222 //set visual attributes
223 lPipe -> SetVisAttributes(G4VisAttributes::Invisible);
224 lPip1 -> SetVisAttributes(G4VisAttributes::Invisible);
225 lPip2 -> SetVisAttributes(G4VisAttributes::Invisible);
226 lPip3 -> SetVisAttributes(G4VisAttributes::Invisible);
227*/
228 m_Pip->Construct(lWorld);
229 m_SCM->Construct(lWorld);
230/*
231 //construct SCM
232 G4Tubs* sCoil = new G4Tubs("solidCoil",137.5*cm,170.0*cm,195.5*cm,0.*deg,360*deg);
233 G4LogicalVolume* lCoil = new G4LogicalVolume(sCoil,Air,"logicalCoil",0,0,0);
234 G4VPhysicalVolume* fCoil = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil,"physicCoil",lWorld,false,0);
235
236 G4Tubs* sCoilin = new G4Tubs("solidCoilin",137.5*cm,138.1*cm,195.5*cm,0.*deg,360*deg);
237 G4LogicalVolume* lCoilin = new G4LogicalVolume(sCoilin,Iron,"logicalCoilin",0,0,0);
238 G4VPhysicalVolume* fCoilin = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoilin,"physicCoilin",lCoil,false,0);
239
240 G4Tubs* sCoilout = new G4Tubs("solidCoilout",168.4*cm,170.0*cm,195.5*cm,0.*deg,360*deg);
241 G4LogicalVolume* lCoilout = new G4LogicalVolume(sCoilout,Iron,"logicalCoilout",0,0,0);
242 G4VPhysicalVolume* fCoilout = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoilout,"physicCoilout",lCoil,false,0);
243
244 G4Tubs* sCoil1 = new G4Tubs("solidCoil1",144.5*cm,145.0*cm,179.5*cm,0.*deg,360*deg);
245 G4LogicalVolume* lCoil1 = new G4LogicalVolume(sCoil1,Aluminium,"logicalCoil1",0,0,0);
246 G4VPhysicalVolume* fCoil1 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil1,"physicCoil1",lCoil,false,0);
247
248 G4Tubs* sCoil2 = new G4Tubs("solidCoil2",157.5*cm,158.0*cm,179.5*cm,0.*deg,360*deg);
249 G4LogicalVolume* lCoil2 = new G4LogicalVolume(sCoil2,Aluminium,"logicalCoil2",0,0,0);
250 G4VPhysicalVolume* fCoil2 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil2,"physicCoil2",lCoil,false,0);
251
252 G4Tubs* sCoil3 = new G4Tubs("solidCoil3",148.0*cm,150.0*cm,179.5*cm,0.*deg,360*deg);
253 G4LogicalVolume* lCoil3 = new G4LogicalVolume(sCoil3,Aluminium,"logicalCoil3",0,0,0);
254 G4VPhysicalVolume* fCoil3 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil3,"physicCoil3",lCoil,false,0);
255
256 G4Tubs* sCoil4 = new G4Tubs("solidCoil4",148.8*cm,149.2*cm,179.5*cm,0.*deg,360*deg);
257 G4LogicalVolume* lCoil4 = new G4LogicalVolume(sCoil4,Copper,"logicalCoil4",0,0,0);
258 G4VPhysicalVolume* fCoil4 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil4,"physicCoil4",lCoil3,false,0);
259
260 G4Tubs* sCoil5 = new G4Tubs("solidCoil5",150.5*cm,152.7*cm,179.5*cm,0.*deg,360*deg);
261 G4LogicalVolume* lCoil5 = new G4LogicalVolume(sCoil5,Aluminium,"logicalCoil5",0,0,0);
262 G4VPhysicalVolume* fCoil5 = new G4PVPlacement(0,G4ThreeVector(0,0,0),lCoil5,"physicCoil5",lCoil,false,0);
263 //set visual attributes
264 lCoil -> SetVisAttributes(G4VisAttributes::Invisible);
265 lCoilin -> SetVisAttributes(G4VisAttributes::Invisible);
266 lCoilout -> SetVisAttributes(G4VisAttributes::Invisible);
267 lCoil1 -> SetVisAttributes(G4VisAttributes::Invisible);
268 lCoil2 -> SetVisAttributes(G4VisAttributes::Invisible);
269 lCoil3 -> SetVisAttributes(G4VisAttributes::Invisible);
270 lCoil4 -> SetVisAttributes(G4VisAttributes::Invisible);
271 lCoil5 -> SetVisAttributes(G4VisAttributes::Invisible);
272*/
273 }
274 }
275
276 else if(m_pipeSCM == 2)
277 {
278/*
279 BesG4Geo* aBesG4Geo = new BesG4Geo();
280
281 //construct with gdml file
282 //G4String GeometryPath = ReadBoostRoot::GetBoostRoot();
283 //G4String GeometryPath = getenv("GDMLMANAGEMENTROOT");
284 if(!GeometryPath){
285 G4Exception("BOOST environment not set!");
286 }
287 GeometryPath += "/dat/Bes.gdml";
288
289 G4cout<<"construc beampipe and SCM from: "<<GeometryPath<<G4endl;
290
291 config.SetURI(GeometryPath);
292 config.SetSetupName( "Default" );
293 config.SetSetupVersion( "1.0" );
294 config.SetType( "G4" );
295 sxp.Configure( &config );
296 sxp.Initialize();
297 sxp.Run();
298
299
300 fWorld=(G4VPhysicalVolume *)GDMLProcessor::GetInstance()->GetWorldVolume();
301 if( fWorld == 0 ) {
302 G4Exception(
303 "World volume not set properly check your setup selection criteria or GDML input!");
304 }
305
306 //make the world volume invisible
307 lWorld = FindLogicalVolume("logicalWorld");
308 lWorld -> SetVisAttributes(G4VisAttributes::Invisible);
309
310 //make the material inside magnet coil invisible
311
312 G4LogicalVolume* lCoil = FindLogicalVolume("logicalCoil" );
313 lCoil -> SetVisAttributes(G4VisAttributes::Invisible);
314
315 G4LogicalVolume* lCoilin = FindLogicalVolume("logicalCoilin" );
316 lCoilin -> SetVisAttributes(G4VisAttributes::Invisible);
317
318 G4LogicalVolume* lCoilout = FindLogicalVolume("logicalCoilout" );
319 lCoilout -> SetVisAttributes(G4VisAttributes::Invisible);
320
321 G4LogicalVolume* lCoil1 = FindLogicalVolume("logicalCoil1");
322 lCoil1 -> SetVisAttributes(G4VisAttributes::Invisible);
323
324 G4LogicalVolume* lCoil2 = FindLogicalVolume("logicalCoil2");
325 lCoil2 -> SetVisAttributes(G4VisAttributes::Invisible);
326
327 G4LogicalVolume* lCoil3 = FindLogicalVolume("logicalCoil3");
328 lCoil3 -> SetVisAttributes(G4VisAttributes::Invisible);
329
330 G4LogicalVolume* lCoil4 = FindLogicalVolume("logicalCoil4");
331 lCoil4 -> SetVisAttributes(G4VisAttributes::Invisible);
332
333 G4LogicalVolume* lCoil5 = FindLogicalVolume("logicalCoil5");
334 lCoil5 -> SetVisAttributes(G4VisAttributes::Invisible);
335
336 delete aBesG4Geo;
337*/
338 SetVisAttributes("Pip_SCM");
339
340 }
341
342 //construct subdetectors
344 mdc->Construct(lWorld);
346 tof->Construct(lWorld);
348 emc->Construct(lWorld);
350 muc->Construct(lWorld);
351
352 G4cout<<"get world "<<fWorld->GetLogicalVolume()->GetNoDaughters()<<endl;
353 for(int nd = 0; nd < fWorld->GetLogicalVolume()->GetNoDaughters(); nd++)
354 {
355 G4cout<<"daughter n: name :"<<nd<<" "<<fWorld->GetLogicalVolume()->GetDaughter(nd)->GetName()<<G4endl;
356
357 }
358
359 return fWorld;
360}
361
362G4LogicalVolume* BesDetectorConstruction::FindLogicalVolume(const G4String& vn )
363{
364 return const_cast<G4LogicalVolume*>( GDMLProcessor::GetInstance()->GetLogicalVolume(vn) );
365}
366
368{
369 if(volumeName = "Pip_SCM")
370 {
371 BesG4Geo* aBesG4Geo = new BesG4Geo();
372 fWorld=(G4VPhysicalVolume *)GDMLProcessor::GetInstance()->GetWorldVolume();
373 if( fWorld == 0 ) {
374 G4Exception(
375 "World volume not set properly check your setup selection criteria or GDML input!");
376 }
377
378 //make the world volume invisible
379 lWorld = FindLogicalVolume("logicalWorld");
380 lWorld -> SetVisAttributes(G4VisAttributes::Invisible);
381
382 //beam pipe
383
384 G4LogicalVolume* logicalPip = FindLogicalVolume("logicalPip");
385 G4LogicalVolume* logicalgoldLayer = FindLogicalVolume("logicalgoldLayer");
386 G4LogicalVolume* logicalinnerBe = FindLogicalVolume("logicalinnerBe");
387 G4LogicalVolume* logicaloilLayer = FindLogicalVolume("logicaloilLayer");
388 G4LogicalVolume* logicalouterBe = FindLogicalVolume("logicalouterBe");
389 G4LogicalVolume* logicalinnerBeSide = FindLogicalVolume("logicalinnerBeSide");
390 G4LogicalVolume* logicalinnerAl = FindLogicalVolume("logicalinnerAl");
391 G4LogicalVolume* logicalAlRing = FindLogicalVolume("logicalAlRing");
392 G4LogicalVolume* logicalouterAl = FindLogicalVolume("logicalouterAl");
393 G4LogicalVolume* logicalAgLayer = FindLogicalVolume("logicalAgLayer");
394 G4LogicalVolume* logicalCuLayer = FindLogicalVolume("logicalCuLayer");
395 G4LogicalVolume* logicalAlCover = FindLogicalVolume("logicalAlCover");
396
397 logicalPip->SetVisAttributes(G4VisAttributes::Invisible);
398 logicalgoldLayer->SetVisAttributes(G4VisAttributes::Invisible);
399 logicalinnerBe->SetVisAttributes(G4VisAttributes::Invisible);
400 logicaloilLayer->SetVisAttributes(G4VisAttributes::Invisible);
401 logicalouterBe->SetVisAttributes(G4VisAttributes::Invisible);
402 logicalinnerBeSide->SetVisAttributes(G4VisAttributes::Invisible);
403 logicalinnerAl->SetVisAttributes(G4VisAttributes::Invisible);
404 logicalAlRing->SetVisAttributes(G4VisAttributes::Invisible);
405 logicalouterAl->SetVisAttributes(G4VisAttributes::Invisible);
406 logicalAgLayer->SetVisAttributes(G4VisAttributes::Invisible);
407 logicalCuLayer->SetVisAttributes(G4VisAttributes::Invisible);
408 logicalAlCover->SetVisAttributes(G4VisAttributes::Invisible);
409
410 //SCM
411 G4LogicalVolume* logicalSCM = FindLogicalVolume("logicalSCM");
412 G4LogicalVolume* logicalinnCryo = FindLogicalVolume("logicalinnCryo");
413 G4LogicalVolume* logicalouterCryo =FindLogicalVolume("logicalouterCryo");
414 G4LogicalVolume* logicalendCryo = FindLogicalVolume("logicalendCryo");
415 G4LogicalVolume* logicall1Adia = FindLogicalVolume("logicall1Adia");
416 G4LogicalVolume* logicall2Adia = FindLogicalVolume("logicall2Adia");
417 G4LogicalVolume* logicall3Adia = FindLogicalVolume("logicall3Adia");
418 G4LogicalVolume* logicall4Adia = FindLogicalVolume("logicall4Adia");
419 G4LogicalVolume* logicalinnShield = FindLogicalVolume("logicalinnShield");
420 G4LogicalVolume* logicaloutShield = FindLogicalVolume("logicaloutShield");
421 G4LogicalVolume* logicalendShield = FindLogicalVolume("logicalendShield");
422 G4LogicalVolume* logicall1insu = FindLogicalVolume("logicall1insu");
423 G4LogicalVolume* logicall2insu = FindLogicalVolume("logicall2insu");
424 G4LogicalVolume* logicalcoil = FindLogicalVolume("logicalcoil");
425 G4LogicalVolume* logicalendCoil = FindLogicalVolume("logicalendCoil");
426 G4LogicalVolume* logicalsupp = FindLogicalVolume("logicalsupp");
427 G4LogicalVolume* logicalpipe1 = FindLogicalVolume("logicalpipe1");
428 G4LogicalVolume* logicalpipe2 = FindLogicalVolume("logicalpipe2");
429 G4LogicalVolume* logicalpipe3 = FindLogicalVolume("logicalpipe3");
430 G4LogicalVolume* logicaltub17 = FindLogicalVolume("logicaltub17");
431 G4LogicalVolume* logicaltub19 = FindLogicalVolume("logicaltub19");
432 G4LogicalVolume* logicaltub20 = FindLogicalVolume("logicaltub20");
433 G4LogicalVolume* logicaltub22 = FindLogicalVolume("logicaltub22");
434 G4LogicalVolume* logicaltub23 = FindLogicalVolume("logicaltub23");
435 G4LogicalVolume* logicaltub25 = FindLogicalVolume("logicaltub25");
436 G4LogicalVolume* logicalsub1 = FindLogicalVolume("logicalsub1");
437 G4LogicalVolume* logicalsub2 = FindLogicalVolume("logicalsub2");
438 G4LogicalVolume* logicalsub3 = FindLogicalVolume("logicalsub3");
439 G4LogicalVolume* logicalhole1 = FindLogicalVolume("logicalhole1");
440 G4LogicalVolume* logicalhole2 = FindLogicalVolume("logicalhole2");
441 G4LogicalVolume* logicalhole3 = FindLogicalVolume("logicalhole3");
442 G4LogicalVolume* logicalhole4 = FindLogicalVolume("logicalhole4");
443 G4LogicalVolume* logicalhole5 = FindLogicalVolume("logicalhole5");
444
445// G4VisAttributes* visSCM1 = new G4VisAttributes(G4Colour(0.,0.,1.));
446 logicalSCM->SetVisAttributes(G4VisAttributes::Invisible);
447// logicalinnCryo->SetVisAttributes(visSCM1);
448 logicalinnCryo->SetVisAttributes(G4VisAttributes::Invisible);
449// logicalouterCryo->SetVisAttributes(visSCM1);
450 logicalouterCryo->SetVisAttributes(G4VisAttributes::Invisible);
451// logicalendCryo->SetVisAttributes(visSCM1);
452 logicalendCryo->SetVisAttributes(G4VisAttributes::Invisible);
453// G4VisAttributes* visSCM2 = new G4VisAttributes(G4Colour(0.,1.,0.));
454// logicall1Adia->SetVisAttributes(visSCM2);
455 logicall1Adia->SetVisAttributes(G4VisAttributes::Invisible);
456// logicall2Adia->SetVisAttributes(visSCM2);
457 logicall2Adia->SetVisAttributes(G4VisAttributes::Invisible);
458// logicall3Adia->SetVisAttributes(visSCM2);
459 logicall3Adia->SetVisAttributes(G4VisAttributes::Invisible);
460// logicall4Adia->SetVisAttributes(visSCM2);
461 logicall4Adia->SetVisAttributes(G4VisAttributes::Invisible);
462// G4VisAttributes* visSCM3 = new G4VisAttributes(G4Colour(1.,0.,0.));
463// logicalinnShield->SetVisAttributes(visSCM3);
464 logicalinnShield->SetVisAttributes(G4VisAttributes::Invisible);
465// logicaloutShield->SetVisAttributes(visSCM3);
466 logicaloutShield->SetVisAttributes(G4VisAttributes::Invisible);
467// logicalendShield->SetVisAttributes(visSCM3);
468 logicalendShield->SetVisAttributes(G4VisAttributes::Invisible);
469
470// G4VisAttributes* visSCM4 = new G4VisAttributes(G4Colour(0.,1.,1.));
471// logicall1insu->SetVisAttributes(visSCM4);
472 logicall1insu->SetVisAttributes(G4VisAttributes::Invisible);
473// logicall2insu->SetVisAttributes(visSCM4);
474 logicall2insu->SetVisAttributes(G4VisAttributes::Invisible);
475// G4VisAttributes* visSCM5 = new G4VisAttributes(G4Colour(1.,0.,1.));
476// logicalcoil->SetVisAttributes(visSCM5);
477 logicalcoil->SetVisAttributes(G4VisAttributes::Invisible);
478// logicalendCoil->SetVisAttributes(visSCM5);
479 logicalendCoil->SetVisAttributes(G4VisAttributes::Invisible);
480// G4VisAttributes* visSCM6 = new G4VisAttributes(G4Colour(1.,1.,0.));
481// logicalsupp->SetVisAttributes(visSCM6);
482 logicalsupp->SetVisAttributes(G4VisAttributes::Invisible);
483// G4VisAttributes* visSCM7 = new G4VisAttributes(G4Colour(0.,0.,0.));
484// logicalrein->SetVisAttributes(G4VisAttributes::Invisible);
485 logicalpipe1->SetVisAttributes(G4VisAttributes::Invisible);
486// logicalpipe2->SetVisAttributes(visSCM2);
487 logicalpipe2->SetVisAttributes(G4VisAttributes::Invisible);
488 logicalpipe3->SetVisAttributes(G4VisAttributes::Invisible);
489// logicaltub17->SetVisAttributes(visSCM2);
490 logicaltub17->SetVisAttributes(G4VisAttributes::Invisible);
491// logicaltub19->SetVisAttributes(visSCM5);
492 logicaltub19->SetVisAttributes(G4VisAttributes::Invisible);
493// logicaltub20->SetVisAttributes(visSCM1);
494 logicaltub20->SetVisAttributes(G4VisAttributes::Invisible);
495// logicaltub22->SetVisAttributes(visSCM1);
496 logicaltub22->SetVisAttributes(G4VisAttributes::Invisible);
497// logicaltub23->SetVisAttributes(visSCM2);
498 logicaltub23->SetVisAttributes(G4VisAttributes::Invisible);
499// logicaltub25->SetVisAttributes(visSCM5);
500 logicaltub25->SetVisAttributes(G4VisAttributes::Invisible);
501// logicalsub1->SetVisAttributes(visSCM4);
502 logicalsub1->SetVisAttributes(G4VisAttributes::Invisible);
503// logicalsub2->SetVisAttributes(visSCM4);
504 logicalsub2->SetVisAttributes(G4VisAttributes::Invisible);
505
506// logicalsub3->SetVisAttributes(visSCM4);
507 logicalsub3->SetVisAttributes(G4VisAttributes::Invisible);
508// logicalhole1->SetVisAttributes(visSCM3);
509 logicalhole1->SetVisAttributes(G4VisAttributes::Invisible);
510// logicalhole2->SetVisAttributes(visSCM3);
511 logicalhole2->SetVisAttributes(G4VisAttributes::Invisible);
512// logicalhole3->SetVisAttributes(visSCM3);
513 logicalhole3->SetVisAttributes(G4VisAttributes::Invisible);
514// logicalhole4->SetVisAttributes(visSCM3);
515 logicalhole4->SetVisAttributes(G4VisAttributes::Invisible);
516// logicalhole5->SetVisAttributes(visSCM3);
517 logicalhole5->SetVisAttributes(G4VisAttributes::Invisible);
518
519 delete aBesG4Geo;
520 }
521}
const Int_t n
const DifComplex I
***************************************************************************************Pseudo Class RRes *****************************************************************************************Parameters and physical constants **Maarten sept ************************************************************************DOUBLE PRECISION xsmu **************************************************************************PARTICLE DATA all others are from PDG *Only resonances with known widths into electron pairs are sept ************************************************************************C Declarations C
Definition: RRes.h:29
G4LogicalVolume * FindLogicalVolume(const G4String &vn)
G4VPhysicalVolume * Construct()
void SetVisAttributes(G4String volumeName)
void Construct(G4LogicalVolume *)
void Construct(G4LogicalVolume *)
void Construct(G4LogicalVolume *logicBes)
void Construct(G4LogicalVolume *logicbes)
Definition: BesPip.cc:115
void Construct(G4LogicalVolume *logicbes)
Definition: BesSCM.cc:179
void Construct(G4LogicalVolume *logicalBes)
IMPLICIT REAL *A H
Definition: myXsection.h:1