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