1#include "G4Geo/MdcG4Geo.h"
2#include "G4Geo/BesG4Geo.h"
3#include "G4Geo/CgemG4Geo.h"
4#include "KalFitAlg/KalFitAlg.h"
5#include "KalFitAlg/KalFitTrack.h"
6#include "G4Material.hh"
8#include "GDMLProcessor.hh"
9#include "G4NistManager.hh"
15 double Z(0.),A(0.),
Ionization(0.),Density(0.),Radlen(0.);
17 G4LogicalVolume *logicalMdc = 0;
22 G4Material* mdcMaterial = logicalMdc->GetMaterial();
23 for(i=0; i<mdcMaterial->GetElementVector()->size(); i++){
24 Z += (mdcMaterial->GetElement(i)->GetZ())*
25 (mdcMaterial->GetFractionVector()[i]);
26 A += (mdcMaterial->GetElement(i)->GetA())*
27 (mdcMaterial->GetFractionVector()[i]);
29 Ionization = mdcMaterial->GetIonisation()->GetMeanExcitationEnergy();
30 Density = mdcMaterial->GetDensity()/(g/cm3);
31 Radlen = mdcMaterial->GetRadlen();
32 cout<<
"mdcgas: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
34 _BesKalmanFitMaterials.push_back(FitMdcMaterial);
36 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
39 G4LogicalVolume* innerWallFilm1Volume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume("LogicalMdcInnerFilm1"));
40 G4Material* innerWallFilm1Material = innerWallFilm1Volume->GetMaterial();
41 G4Tubs* innerwallFilm1Tub = dynamic_cast<G4Tubs*>(innerWallFilm1Volume->GetSolid());
45 for(i=0; i<innerWallFilm1Material->GetElementVector()->size(); i++){
46 Z += (innerWallFilm1Material->GetElement(i)->GetZ())*
47 (innerWallFilm1Material->GetFractionVector()[i]);
48 A += (innerWallFilm1Material->GetElement(i)->GetA())*
49 (innerWallFilm1Material->GetFractionVector()[i]);
52 Ionization = innerWallFilm1Material->GetIonisation()->GetMeanExcitationEnergy();
53 Density = innerWallFilm1Material->GetDensity()/(g/cm3);
54 Radlen = innerWallFilm1Material->GetRadlen();
55 std::cout<<"Mdc innerwall Film1, Al: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<std::endl;
56 KalFitMaterial FitInnerwallFilm1Material(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
57 _BesKalmanFitMaterials.push_back(FitInnerwallFilm1Material);
61 G4LogicalVolume* innerwallVolume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume("logicalMdcSegment2"));
62 G4Material* innerwallMaterial = innerwallVolume->GetMaterial();
63 G4Tubs* innerwallTub = dynamic_cast<G4Tubs*>(innerwallVolume->GetSolid());
67 for(i=0; i<innerwallMaterial->GetElementVector()->size(); i++){
68 Z += (innerwallMaterial->GetElement(i)->GetZ())*
69 (innerwallMaterial->GetFractionVector()[i]);
70 A += (innerwallMaterial->GetElement(i)->GetA())*
71 (innerwallMaterial->GetFractionVector()[i]);
74 Ionization = innerwallMaterial->GetIonisation()->GetMeanExcitationEnergy();
75 Density = innerwallMaterial->GetDensity()/(g/cm3);
76 Radlen = innerwallMaterial->GetRadlen();
77 cout<<"Mdc innerwall, Al: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
78 KalFitMaterial FitInnerwallMaterial(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
79 _BesKalmanFitMaterials.push_back(FitInnerwallMaterial);
82 G4LogicalVolume* innerWallFilm0Volume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume("LogicalMdcInnerFilm0"));
83 G4Material* innerWallFilm0Material = innerWallFilm0Volume->GetMaterial();
84 G4Tubs* innerwallFilm0Tub = dynamic_cast<G4Tubs*>(innerWallFilm0Volume->GetSolid());
88 for(i=0; i<innerWallFilm0Material->GetElementVector()->size(); i++){
89 Z += (innerWallFilm0Material->GetElement(i)->GetZ())*
90 (innerWallFilm0Material->GetFractionVector()[i]);
91 A += (innerWallFilm0Material->GetElement(i)->GetA())*
92 (innerWallFilm0Material->GetFractionVector()[i]);
95 Ionization = innerWallFilm0Material->GetIonisation()->GetMeanExcitationEnergy();
96 Density = innerWallFilm0Material->GetDensity()/(g/cm3);
97 Radlen = innerWallFilm0Material->GetRadlen();
98 std::cout<<"Mdc innerwall Film0, Al: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<std::endl;
99 KalFitMaterial FitInnerwallFilm0Material(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
100 _BesKalmanFitMaterials.push_back(FitInnerwallFilm0Material);
104 G4LogicalVolume *logicalCgem = 0;
109 G4LogicalVolume* SeparatorVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
"Separator_logic"));
110 G4Material* SeparatorMaterial = SeparatorVolume->GetMaterial();
111 G4Tubs* SeparatorTub =
dynamic_cast<G4Tubs*
>(SeparatorVolume->GetSolid());
115 for(i=0; i<SeparatorMaterial->GetElementVector()->size(); i++){
116 Z += (SeparatorMaterial->GetElement(i)->GetZ())*
117 (SeparatorMaterial->GetFractionVector()[i]);
118 A += (SeparatorMaterial->GetElement(i)->GetA())*
119 (SeparatorMaterial->GetFractionVector()[i]);
122 Ionization = SeparatorMaterial->GetIonisation()->GetMeanExcitationEnergy();
123 Density = SeparatorMaterial->GetDensity()/(g/cm3);
124 Radlen = SeparatorMaterial->GetRadlen();
125 cout<<
"Separator: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
127 _BesKalmanFitMaterials.push_back(FitSeparatorMaterial);
128 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
187 for(
int j=2;j>=0;j--){
191 ss << "Shield_Kapton2_logic" << j ;
193 G4LogicalVolume* logicalSK2Volume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume(s));
194 G4Material* SK2Material = logicalSK2Volume->GetMaterial();
195 SK2Tub[j] = dynamic_cast<G4Tubs*>(logicalSK2Volume->GetSolid());
196 cout << logicalSK2Volume->GetSolid()->GetName() << endl;
199 for(i=0; i<SK2Material->GetElementVector()->size(); i++){
200 Z += (SK2Material->GetElement(i)->GetZ())*
201 (SK2Material->GetFractionVector()[i]);
202 A += (SK2Material->GetElement(i)->GetA())*
203 (SK2Material->GetFractionVector()[i]);
205 Ionization = SK2Material->GetIonisation()->GetMeanExcitationEnergy();
206 Density = SK2Material->GetDensity()/(g/cm3);
207 Radlen = SK2Material->GetRadlen();
208 cout<<"SK2: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
210 KalFitMaterial FitSK2Material(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
212 _BesKalmanFitMaterials.push_back(FitSK2Material);
213 cout << "@@@@" << _BesKalmanFitMaterials.size() << endl;
218 ss << "Shield_Honeycomb_logic" << j ;
221 G4LogicalVolume* logicalHCVolume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume(s));
222 G4Material* HCMaterial = logicalHCVolume->GetMaterial();
223 HCTub[j] = dynamic_cast<G4Tubs*>(logicalHCVolume->GetSolid());
224 cout << logicalHCVolume->GetSolid()->GetName() << endl;
227 for(i=0; i<HCMaterial->GetElementVector()->size(); i++){
228 Z += (HCMaterial->GetElement(i)->GetZ())*
229 (HCMaterial->GetFractionVector()[i]);
230 A += (HCMaterial->GetElement(i)->GetA())*
231 (HCMaterial->GetFractionVector()[i]);
233 Ionization = HCMaterial->GetIonisation()->GetMeanExcitationEnergy();
234 Density = HCMaterial->GetDensity()/(g/cm3);
235 Radlen = HCMaterial->GetRadlen();
236 cout<<"HC: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
237 KalFitMaterial FitHCMaterial(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
238 _BesKalmanFitMaterials.push_back(FitHCMaterial);
239 cout << "@@@@" << _BesKalmanFitMaterials.size() << endl;
244 ss << "Shield_Kapton1_logic" << j ;
246 G4LogicalVolume* logicalSK1Volume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume(s));
247 G4Material* SK1Material = logicalSK1Volume->GetMaterial();
248 SK1Tub[j] = dynamic_cast<G4Tubs*>(logicalSK1Volume->GetSolid());
249 cout << logicalSK1Volume->GetSolid()->GetName() << endl;
253 for(i=0; i<SK1Material->GetElementVector()->size(); i++){
254 Z += (SK1Material->GetElement(i)->GetZ())*
255 (SK1Material->GetFractionVector()[i]);
256 A += (SK1Material->GetElement(i)->GetA())*
257 (SK1Material->GetFractionVector()[i]);
259 Ionization = SK1Material->GetIonisation()->GetMeanExcitationEnergy();
260 Density = SK1Material->GetDensity()/(g/cm3);
261 Radlen = SK1Material->GetRadlen();
262 cout<<"SK1: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
263 KalFitMaterial FitSK1Material(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
264 _BesKalmanFitMaterials.push_back(FitSK1Material);
265 cout << "@@@@" << _BesKalmanFitMaterials.size() << endl;
269 ss <<
"Anode_Kapton4_logic" << j ;
271 G4LogicalVolume* logicalAK4Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
272 G4Material* AK4Material = logicalAK4Volume->GetMaterial();
273 AK4Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAK4Volume->GetSolid());
278 for(i=0; i<AK4Material->GetElementVector()->size(); i++){
279 Z += (AK4Material->GetElement(i)->GetZ())*
280 (AK4Material->GetFractionVector()[i]);
281 A += (AK4Material->GetElement(i)->GetA())*
282 (AK4Material->GetFractionVector()[i]);
284 Ionization = AK4Material->GetIonisation()->GetMeanExcitationEnergy();
285 Density = AK4Material->GetDensity()/(g/cm3);
286 Radlen = AK4Material->GetRadlen();
287 cout<<
"AK4: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
289 _BesKalmanFitMaterials.push_back(FitAK4Material);
290 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
294 ss << "Anode_Au2_logic" << j ;
296 G4LogicalVolume* logicalAA2Volume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume(s));
297 G4Material* AA2Material = logicalAA2Volume->GetMaterial();
298 AA2Tub[j] = dynamic_cast<G4Tubs*>(logicalAA2Volume->GetSolid());
301 for(i=0; i<AA2Material->GetElementVector()->size(); i++){
302 Z += (AA2Material->GetElement(i)->GetZ())*
303 (AA2Material->GetFractionVector()[i]);
304 A += (AA2Material->GetElement(i)->GetA())*
305 (AA2Material->GetFractionVector()[i]);
307 Ionization = AA2Material->GetIonisation()->GetMeanExcitationEnergy();
308 Density = AA2Material->GetDensity()/(g/cm3);
309 Radlen = AA2Material->GetRadlen();
310 cout<<"AA2: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
311 KalFitMaterial FitAA2Material(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
312 _BesKalmanFitMaterials.push_back(FitAA2Material);
313 cout << "@@@@" << _BesKalmanFitMaterials.size() << endl;
317 ss <<
"Anode_Cu3_logic" << j ;
319 G4LogicalVolume* logicalAC3Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
320 G4Material* AC3Material = logicalAC3Volume->GetMaterial();
321 AC3Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAC3Volume->GetSolid());
324 for(i=0; i<AC3Material->GetElementVector()->size(); i++){
325 Z += (AC3Material->GetElement(i)->GetZ())*
326 (AC3Material->GetFractionVector()[i]);
327 A += (AC3Material->GetElement(i)->GetA())*
328 (AC3Material->GetFractionVector()[i]);
330 Ionization = AC3Material->GetIonisation()->GetMeanExcitationEnergy();
331 Density = AC3Material->GetDensity()/(g/cm3);
332 Radlen = AC3Material->GetRadlen();
333 cout<<
"AC3: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
335 _BesKalmanFitMaterials.push_back(FitAC3Material);
336 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
340 ss <<
"Anode_Epoxy5_logic" << j ;
342 G4LogicalVolume* logicalAE5Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
343 G4Material* AE5Material = logicalAE5Volume->GetMaterial();
344 AE5Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAE5Volume->GetSolid());
347 for(i=0; i<AE5Material->GetElementVector()->size(); i++){
348 Z += (AE5Material->GetElement(i)->GetZ())*
349 (AE5Material->GetFractionVector()[i]);
350 A += (AE5Material->GetElement(i)->GetA())*
351 (AE5Material->GetFractionVector()[i]);
353 Ionization = AE5Material->GetIonisation()->GetMeanExcitationEnergy();
354 Density = AE5Material->GetDensity()/(g/cm3);
355 Radlen = AE5Material->GetRadlen();
356 cout<<
"AE5: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
358 _BesKalmanFitMaterials.push_back(FitAE5Material);
359 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
363 ss <<
"Anode_Rohacell2_logic" << j ;
365 G4LogicalVolume* logicalAR2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
366 G4Material* AR2Material = logicalAR2Volume->GetMaterial();
367 AR2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAR2Volume->GetSolid());
370 for(i=0; i<AR2Material->GetElementVector()->size(); i++){
371 Z += (AR2Material->GetElement(i)->GetZ())*
372 (AR2Material->GetFractionVector()[i]);
373 A += (AR2Material->GetElement(i)->GetA())*
374 (AR2Material->GetFractionVector()[i]);
376 Ionization = AR2Material->GetIonisation()->GetMeanExcitationEnergy();
377 Density = AR2Material->GetDensity()/(g/cm3);
378 Radlen = AR2Material->GetRadlen();
379 cout<<
"AR2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
381 _BesKalmanFitMaterials.push_back(FitAR2Material);
382 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
386 ss <<
"Anode_Epoxy4_logic" << j ;
388 G4LogicalVolume* logicalAE4Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
389 G4Material* AE4Material = logicalAE4Volume->GetMaterial();
390 AE4Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAE4Volume->GetSolid());
393 for(i=0; i<AE4Material->GetElementVector()->size(); i++){
394 Z += (AE4Material->GetElement(i)->GetZ())*
395 (AE4Material->GetFractionVector()[i]);
396 A += (AE4Material->GetElement(i)->GetA())*
397 (AE4Material->GetFractionVector()[i]);
399 Ionization = AE4Material->GetIonisation()->GetMeanExcitationEnergy();
400 Density = AE4Material->GetDensity()/(g/cm3);
401 Radlen = AE4Material->GetRadlen();
402 cout<<
"AE4: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
404 _BesKalmanFitMaterials.push_back(FitAE4Material);
405 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
409 ss <<
"Anode_Kapton3_logic" << j ;
411 G4LogicalVolume* logicalAK3Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
412 G4Material* AK3Material = logicalAK3Volume->GetMaterial();
413 AK3Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAK3Volume->GetSolid());
416 for(i=0; i<AK3Material->GetElementVector()->size(); i++){
417 Z += (AK3Material->GetElement(i)->GetZ())*
418 (AK3Material->GetFractionVector()[i]);
419 A += (AK3Material->GetElement(i)->GetA())*
420 (AK3Material->GetFractionVector()[i]);
422 Ionization = AK3Material->GetIonisation()->GetMeanExcitationEnergy();
423 Density = AK3Material->GetDensity()/(g/cm3);
424 Radlen = AK3Material->GetRadlen();
425 cout<<
"AK3: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
427 _BesKalmanFitMaterials.push_back(FitAK3Material);
428 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
432 ss <<
"Anode_Epoxy3_logic" << j ;
434 G4LogicalVolume* logicalAE3Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
435 G4Material* AE3Material = logicalAE3Volume->GetMaterial();
436 AE3Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAE3Volume->GetSolid());
439 for(i=0; i<AE3Material->GetElementVector()->size(); i++){
440 Z += (AE3Material->GetElement(i)->GetZ())*
441 (AE3Material->GetFractionVector()[i]);
442 A += (AE3Material->GetElement(i)->GetA())*
443 (AE3Material->GetFractionVector()[i]);
445 Ionization = AE3Material->GetIonisation()->GetMeanExcitationEnergy();
446 Density = AE3Material->GetDensity()/(g/cm3);
447 Radlen = AE3Material->GetRadlen();
448 cout<<
"AE3: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
450 _BesKalmanFitMaterials.push_back(FitAE3Material);
451 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
455 ss <<
"Anode_Rohacell1_logic" << j ;
457 G4LogicalVolume* logicalAR1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
458 G4Material* AR1Material = logicalAR1Volume->GetMaterial();
459 AR1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAR1Volume->GetSolid());
462 for(i=0; i<AR1Material->GetElementVector()->size(); i++){
463 Z += (AR1Material->GetElement(i)->GetZ())*
464 (AR1Material->GetFractionVector()[i]);
465 A += (AR1Material->GetElement(i)->GetA())*
466 (AR1Material->GetFractionVector()[i]);
468 Ionization = AR1Material->GetIonisation()->GetMeanExcitationEnergy();
469 Density = AR1Material->GetDensity()/(g/cm3);
470 Radlen = AR1Material->GetRadlen();
471 cout<<
"AR1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
473 _BesKalmanFitMaterials.push_back(FitAR1Material);
474 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
478 ss <<
"Anode_Epoxy2_logic" << j ;
480 G4LogicalVolume* logicalAE2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
481 G4Material* AE2Material = logicalAE2Volume->GetMaterial();
482 AE2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAE2Volume->GetSolid());
485 for(i=0; i<AE2Material->GetElementVector()->size(); i++){
486 Z += (AE2Material->GetElement(i)->GetZ())*
487 (AE2Material->GetFractionVector()[i]);
488 A += (AE2Material->GetElement(i)->GetA())*
489 (AE2Material->GetFractionVector()[i]);
491 Ionization = AE2Material->GetIonisation()->GetMeanExcitationEnergy();
492 Density = AE2Material->GetDensity()/(g/cm3);
493 Radlen = AE2Material->GetRadlen();
494 cout<<
"AE2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
496 _BesKalmanFitMaterials.push_back(FitAE2Material);
497 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
501 ss <<
"Anode_Kapton2_logic" << j ;
503 G4LogicalVolume* logicalAK2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
504 G4Material* AK2Material = logicalAK2Volume->GetMaterial();
505 AK2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAK2Volume->GetSolid());
508 for(i=0; i<AK2Material->GetElementVector()->size(); i++){
509 Z += (AK2Material->GetElement(i)->GetZ())*
510 (AK2Material->GetFractionVector()[i]);
511 A += (AK2Material->GetElement(i)->GetA())*
512 (AK2Material->GetFractionVector()[i]);
514 Ionization = AK2Material->GetIonisation()->GetMeanExcitationEnergy();
515 Density = AK2Material->GetDensity()/(g/cm3);
516 Radlen = AK2Material->GetRadlen();
517 cout<<
"AK2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
519 _BesKalmanFitMaterials.push_back(FitAK2Material);
520 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
524 ss <<
"Anode_Epoxy1_logic" << j ;
526 G4LogicalVolume* logicalAE1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
527 G4Material* AE1Material = logicalAE1Volume->GetMaterial();
528 AE1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAE1Volume->GetSolid());
531 for(i=0; i<AE1Material->GetElementVector()->size(); i++){
532 Z += (AE1Material->GetElement(i)->GetZ())*
533 (AE1Material->GetFractionVector()[i]);
534 A += (AE1Material->GetElement(i)->GetA())*
535 (AE1Material->GetFractionVector()[i]);
537 Ionization = AE1Material->GetIonisation()->GetMeanExcitationEnergy();
538 Density = AE1Material->GetDensity()/(g/cm3);
539 Radlen = AE1Material->GetRadlen();
540 cout<<
"AE1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
542 _BesKalmanFitMaterials.push_back(FitAE1Material);
543 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
547 ss <<
"Anode_Cu2_logic" << j ;
549 G4LogicalVolume* logicalAC2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
550 G4Material* AC2Material = logicalAC2Volume->GetMaterial();
551 AC2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAC2Volume->GetSolid());
554 for(i=0; i<AC2Material->GetElementVector()->size(); i++){
555 Z += (AC2Material->GetElement(i)->GetZ())*
556 (AC2Material->GetFractionVector()[i]);
557 A += (AC2Material->GetElement(i)->GetA())*
558 (AC2Material->GetFractionVector()[i]);
560 Ionization = AC2Material->GetIonisation()->GetMeanExcitationEnergy();
561 Density = AC2Material->GetDensity()/(g/cm3);
562 Radlen = AC2Material->GetRadlen();
563 cout<<
"AC2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
565 _BesKalmanFitMaterials.push_back(FitAC2Material);
566 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
570 ss <<
"Anode_Kapton1_logic" << j ;
572 G4LogicalVolume* logicalAK1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
573 G4Material* AK1Material = logicalAK1Volume->GetMaterial();
574 AK1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAK1Volume->GetSolid());
577 for(i=0; i<AK1Material->GetElementVector()->size(); i++){
578 Z += (AK1Material->GetElement(i)->GetZ())*
579 (AK1Material->GetFractionVector()[i]);
580 A += (AK1Material->GetElement(i)->GetA())*
581 (AK1Material->GetFractionVector()[i]);
583 Ionization = AK1Material->GetIonisation()->GetMeanExcitationEnergy();
584 Density = AK1Material->GetDensity()/(g/cm3);
585 Radlen = AK1Material->GetRadlen();
586 cout<<
"AK1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
588 _BesKalmanFitMaterials.push_back(FitAK1Material);
589 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
593 ss <<
"Anode_Cu1_logic" << j ;
595 G4LogicalVolume* logicalAC1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
596 G4Material* AC1Material = logicalAC1Volume->GetMaterial();
597 AC1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalAC1Volume->GetSolid());
600 for(i=0; i<AC1Material->GetElementVector()->size(); i++){
601 Z += (AC1Material->GetElement(i)->GetZ())*
602 (AC1Material->GetFractionVector()[i]);
603 A += (AC1Material->GetElement(i)->GetA())*
604 (AC1Material->GetFractionVector()[i]);
606 Ionization = AC1Material->GetIonisation()->GetMeanExcitationEnergy();
607 Density = AC1Material->GetDensity()/(g/cm3);
608 Radlen = AC1Material->GetRadlen();
609 cout<<
"AC1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
611 _BesKalmanFitMaterials.push_back(FitAC1Material);
612 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
616 ss << "Anode_Au1_logic" << j ;
618 G4LogicalVolume* logicalAA1Volume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume(s));
619 G4Material* AA1Material = logicalAA1Volume->GetMaterial();
620 AA1Tub[j] = dynamic_cast<G4Tubs*>(logicalAA1Volume->GetSolid());
623 for(i=0; i<AA1Material->GetElementVector()->size(); i++){
624 Z += (AA1Material->GetElement(i)->GetZ())*
625 (AA1Material->GetFractionVector()[i]);
626 A += (AA1Material->GetElement(i)->GetA())*
627 (AA1Material->GetFractionVector()[i]);
629 Ionization = AA1Material->GetIonisation()->GetMeanExcitationEnergy();
630 Density = AA1Material->GetDensity()/(g/cm3);
631 Radlen = AA1Material->GetRadlen();
632 cout<<"AA1: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
633 KalFitMaterial FitAA1Material(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
634 _BesKalmanFitMaterials.push_back(FitAA1Material);
635 cout << "@@@@" << _BesKalmanFitMaterials.size() << endl;
639 ss <<
"Gap_I_logic" << j;
641 G4LogicalVolume* logicalGAPIVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
642 G4Material* GAPIMaterial = logicalGAPIVolume->GetMaterial();
643 GAPITub[j] =
dynamic_cast<G4Tubs*
>(logicalGAPIVolume->GetSolid());
646 for(i=0; i<GAPIMaterial->GetElementVector()->size(); i++){
647 Z += (GAPIMaterial->GetElement(i)->GetZ())*
648 (GAPIMaterial->GetFractionVector()[i]);
649 A += (GAPIMaterial->GetElement(i)->GetA())*
650 (GAPIMaterial->GetFractionVector()[i]);
652 Ionization = GAPIMaterial->GetIonisation()->GetMeanExcitationEnergy();
653 Density = GAPIMaterial->GetDensity()/(g/cm3);
654 Radlen = GAPIMaterial->GetRadlen();
655 cout<<
"GAPI: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
657 _BesKalmanFitMaterials.push_back(FitGAPIMaterial);
658 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
664 ss <<
"GemFoil_Cu2_logic" << j <<
"foil2" ;
666 G4LogicalVolume* logicalFC22Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
667 G4Material* FC22Material = logicalFC22Volume->GetMaterial();
668 FC22Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFC22Volume->GetSolid());
671 for(i=0; i<FC22Material->GetElementVector()->size(); i++){
672 Z += (FC22Material->GetElement(i)->GetZ())*
673 (FC22Material->GetFractionVector()[i]);
674 A += (FC22Material->GetElement(i)->GetA())*
675 (FC22Material->GetFractionVector()[i]);
677 Ionization = FC22Material->GetIonisation()->GetMeanExcitationEnergy();
678 Density = FC22Material->GetDensity()/(g/cm3);
679 Radlen = FC22Material->GetRadlen();
680 cout<<
"FC22: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
682 _BesKalmanFitMaterials.push_back(FitFC22Material);
683 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
687 ss <<
"GemFoil_Kapton_logic" << j <<
"foil2" ;
689 G4LogicalVolume* logicalFK2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
690 G4Material* FK2Material = logicalFK2Volume->GetMaterial();
691 FK2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFK2Volume->GetSolid());
694 for(i=0; i<FK2Material->GetElementVector()->size(); i++){
695 Z += (FK2Material->GetElement(i)->GetZ())*
696 (FK2Material->GetFractionVector()[i]);
697 A += (FK2Material->GetElement(i)->GetA())*
698 (FK2Material->GetFractionVector()[i]);
700 Ionization = FK2Material->GetIonisation()->GetMeanExcitationEnergy();
701 Density = FK2Material->GetDensity()/(g/cm3);
702 Radlen = FK2Material->GetRadlen();
703 cout<<
"FK2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
705 _BesKalmanFitMaterials.push_back(FitFK2Material);
706 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
710 ss <<
"GemFoil_Cu1_logic" << j <<
"foil2" ;
712 G4LogicalVolume* logicalFC12Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
713 G4Material* FC12Material = logicalFC12Volume->GetMaterial();
714 FC12Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFC12Volume->GetSolid());
717 for(i=0; i<FC12Material->GetElementVector()->size(); i++){
718 Z += (FC12Material->GetElement(i)->GetZ())*
719 (FC12Material->GetFractionVector()[i]);
720 A += (FC12Material->GetElement(i)->GetA())*
721 (FC12Material->GetFractionVector()[i]);
723 Ionization = FC12Material->GetIonisation()->GetMeanExcitationEnergy();
724 Density = FC12Material->GetDensity()/(g/cm3);
725 Radlen = FC12Material->GetRadlen();
726 cout<<
"FC12: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
728 _BesKalmanFitMaterials.push_back(FitFC12Material);
729 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
733 ss <<
"Gap_T2_logic" << j ;
735 G4LogicalVolume* logicalGAPT2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
736 G4Material* GAPT2Material = logicalGAPT2Volume->GetMaterial();
737 GAPT2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalGAPT2Volume->GetSolid());
740 for(i=0; i<GAPT2Material->GetElementVector()->size(); i++){
741 Z += (GAPT2Material->GetElement(i)->GetZ())*
742 (GAPT2Material->GetFractionVector()[i]);
743 A += (GAPT2Material->GetElement(i)->GetA())*
744 (GAPT2Material->GetFractionVector()[i]);
746 Ionization = GAPT2Material->GetIonisation()->GetMeanExcitationEnergy();
747 Density = GAPT2Material->GetDensity()/(g/cm3);
748 Radlen = GAPT2Material->GetRadlen();
749 cout<<
"GAPT2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
751 _BesKalmanFitMaterials.push_back(FitGAPT2Material);
752 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
757 ss <<
"GemFoil_Cu2_logic" << j <<
"foil1" ;
759 G4LogicalVolume* logicalFC21Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
760 G4Material* FC21Material = logicalFC21Volume->GetMaterial();
761 FC21Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFC21Volume->GetSolid());
764 for(i=0; i<FC21Material->GetElementVector()->size(); i++){
765 Z += (FC21Material->GetElement(i)->GetZ())*
766 (FC21Material->GetFractionVector()[i]);
767 A += (FC21Material->GetElement(i)->GetA())*
768 (FC21Material->GetFractionVector()[i]);
770 Ionization = FC21Material->GetIonisation()->GetMeanExcitationEnergy();
771 Density = FC21Material->GetDensity()/(g/cm3);
772 Radlen = FC21Material->GetRadlen();
773 cout<<
"FC21: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
775 _BesKalmanFitMaterials.push_back(FitFC21Material);
776 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
780 ss <<
"GemFoil_Kapton_logic" << j <<
"foil1" ;
782 G4LogicalVolume* logicalFK1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
783 G4Material* FK1Material = logicalFK1Volume->GetMaterial();
784 FK1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFK1Volume->GetSolid());
787 for(i=0; i<FK1Material->GetElementVector()->size(); i++){
788 Z += (FK1Material->GetElement(i)->GetZ())*
789 (FK1Material->GetFractionVector()[i]);
790 A += (FK1Material->GetElement(i)->GetA())*
791 (FK1Material->GetFractionVector()[i]);
793 Ionization = FK1Material->GetIonisation()->GetMeanExcitationEnergy();
794 Density = FK1Material->GetDensity()/(g/cm3);
795 Radlen = FK1Material->GetRadlen();
796 cout<<
"FK1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
798 _BesKalmanFitMaterials.push_back(FitFK1Material);
799 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
803 ss <<
"GemFoil_Cu1_logic" << j <<
"foil1" ;
805 G4LogicalVolume* logicalFC11Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
806 G4Material* FC11Material = logicalFC11Volume->GetMaterial();
807 FC11Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFC11Volume->GetSolid());
810 for(i=0; i<FC11Material->GetElementVector()->size(); i++){
811 Z += (FC11Material->GetElement(i)->GetZ())*
812 (FC11Material->GetFractionVector()[i]);
813 A += (FC11Material->GetElement(i)->GetA())*
814 (FC11Material->GetFractionVector()[i]);
816 Ionization = FC11Material->GetIonisation()->GetMeanExcitationEnergy();
817 Density = FC11Material->GetDensity()/(g/cm3);
818 Radlen = FC11Material->GetRadlen();
819 cout<<
"FC11: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
821 _BesKalmanFitMaterials.push_back(FitFC11Material);
822 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
826 ss <<
"Gap_T1_logic" << j ;
828 G4LogicalVolume* logicalGAPT1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
829 G4Material* GAPT1Material = logicalGAPT1Volume->GetMaterial();
830 GAPT1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalGAPT1Volume->GetSolid());
833 for(i=0; i<GAPT1Material->GetElementVector()->size(); i++){
834 Z += (GAPT1Material->GetElement(i)->GetZ())*
835 (GAPT1Material->GetFractionVector()[i]);
836 A += (GAPT1Material->GetElement(i)->GetA())*
837 (GAPT1Material->GetFractionVector()[i]);
839 Ionization = GAPT1Material->GetIonisation()->GetMeanExcitationEnergy();
840 Density = GAPT1Material->GetDensity()/(g/cm3);
841 Radlen = GAPT1Material->GetRadlen();
842 cout<<
"GAPT1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
844 _BesKalmanFitMaterials.push_back(FitGAPT1Material);
845 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
850 ss <<
"GemFoil_Cu2_logic" << j <<
"foil0" ;
852 G4LogicalVolume* logicalFC20Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
853 G4Material* FC20Material = logicalFC20Volume->GetMaterial();
854 FC20Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFC20Volume->GetSolid());
857 for(i=0; i<FC20Material->GetElementVector()->size(); i++){
858 Z += (FC20Material->GetElement(i)->GetZ())*
859 (FC20Material->GetFractionVector()[i]);
860 A += (FC20Material->GetElement(i)->GetA())*
861 (FC20Material->GetFractionVector()[i]);
863 Ionization = FC20Material->GetIonisation()->GetMeanExcitationEnergy();
864 Density = FC20Material->GetDensity()/(g/cm3);
865 Radlen = FC20Material->GetRadlen();
866 cout<<
"FC20: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
868 _BesKalmanFitMaterials.push_back(FitFC20Material);
869 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
873 ss <<
"GemFoil_Kapton_logic" << j <<
"foil0" ;
875 G4LogicalVolume* logicalFK0Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
876 G4Material* FK0Material = logicalFK0Volume->GetMaterial();
877 FK0Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFK0Volume->GetSolid());
880 for(i=0; i<FK0Material->GetElementVector()->size(); i++){
881 Z += (FK0Material->GetElement(i)->GetZ())*
882 (FK0Material->GetFractionVector()[i]);
883 A += (FK0Material->GetElement(i)->GetA())*
884 (FK0Material->GetFractionVector()[i]);
886 Ionization = FK0Material->GetIonisation()->GetMeanExcitationEnergy();
887 Density = FK0Material->GetDensity()/(g/cm3);
888 Radlen = FK0Material->GetRadlen();
889 cout<<
"FK0: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
891 _BesKalmanFitMaterials.push_back(FitFK0Material);
892 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
896 ss <<
"GemFoil_Cu1_logic" << j<<
"foil0" ;
898 G4LogicalVolume* logicalFC10Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
899 G4Material* FC10Material = logicalFC10Volume->GetMaterial();
900 FC10Tub[j] =
dynamic_cast<G4Tubs*
>(logicalFC10Volume->GetSolid());
903 for(i=0; i<FC10Material->GetElementVector()->size(); i++){
904 Z += (FC10Material->GetElement(i)->GetZ())*
905 (FC10Material->GetFractionVector()[i]);
906 A += (FC10Material->GetElement(i)->GetA())*
907 (FC10Material->GetFractionVector()[i]);
909 Ionization = FC10Material->GetIonisation()->GetMeanExcitationEnergy();
910 Density = FC10Material->GetDensity()/(g/cm3);
911 Radlen = FC10Material->GetRadlen();
912 cout<<
"FC10: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
914 _BesKalmanFitMaterials.push_back(FitFC10Material);
915 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
919 ss <<
"Gap_D_logic" << j ;
921 G4LogicalVolume* logicalGAPDVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
922 G4Material* GAPDMaterial = logicalGAPDVolume->GetMaterial();
923 GAPDTub[j] =
dynamic_cast<G4Tubs*
>(logicalGAPDVolume->GetSolid());
926 for(i=0; i<GAPDMaterial->GetElementVector()->size(); i++){
927 Z += (GAPDMaterial->GetElement(i)->GetZ())*
928 (GAPDMaterial->GetFractionVector()[i]);
929 A += (GAPDMaterial->GetElement(i)->GetA())*
930 (GAPDMaterial->GetFractionVector()[i]);
932 Ionization = GAPDMaterial->GetIonisation()->GetMeanExcitationEnergy();
933 Density = GAPDMaterial->GetDensity()/(g/cm3);
934 Radlen = GAPDMaterial->GetRadlen();
935 cout<<
"GAPD: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
937 _BesKalmanFitMaterials.push_back(FitGAPDMaterial);
938 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
964 ss <<
"Cathode_Cu_logic" << j ;
966 G4LogicalVolume* logicalCCuVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
967 G4Material* CCuMaterial = logicalCCuVolume->GetMaterial();
968 CCuTub[j] =
dynamic_cast<G4Tubs*
>(logicalCCuVolume->GetSolid());
971 for(i=0; i<CCuMaterial->GetElementVector()->size(); i++){
972 Z += (CCuMaterial->GetElement(i)->GetZ())*
973 (CCuMaterial->GetFractionVector()[i]);
974 A += (CCuMaterial->GetElement(i)->GetA())*
975 (CCuMaterial->GetFractionVector()[i]);
977 Ionization = CCuMaterial->GetIonisation()->GetMeanExcitationEnergy();
978 Density = CCuMaterial->GetDensity()/(g/cm3);
979 Radlen = CCuMaterial->GetRadlen();
980 cout<<
"CCu: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
982 _BesKalmanFitMaterials.push_back(FitCCuMaterial);
983 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
987 ss <<
"Cathode_Kapton3_logic" << j ;
989 G4LogicalVolume* logicalCK3Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
990 G4Material* CK3Material = logicalCK3Volume->GetMaterial();
991 CK3Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCK3Volume->GetSolid());
994 for(i=0; i<CK3Material->GetElementVector()->size(); i++){
995 Z += (CK3Material->GetElement(i)->GetZ())*
996 (CK3Material->GetFractionVector()[i]);
997 A += (CK3Material->GetElement(i)->GetA())*
998 (CK3Material->GetFractionVector()[i]);
1000 Ionization = CK3Material->GetIonisation()->GetMeanExcitationEnergy();
1001 Density = CK3Material->GetDensity()/(g/cm3);
1002 Radlen = CK3Material->GetRadlen();
1003 cout<<
"CK3: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1005 _BesKalmanFitMaterials.push_back(FitCK3Material);
1006 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1010 ss <<
"Cathode_Epoxy4_logic" << j ;
1012 G4LogicalVolume* logicalCE4Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1013 G4Material* CE4Material = logicalCE4Volume->GetMaterial();
1014 CE4Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCE4Volume->GetSolid());
1017 for(i=0; i<CE4Material->GetElementVector()->size(); i++){
1018 Z += (CE4Material->GetElement(i)->GetZ())*
1019 (CE4Material->GetFractionVector()[i]);
1020 A += (CE4Material->GetElement(i)->GetA())*
1021 (CE4Material->GetFractionVector()[i]);
1023 Ionization = CE4Material->GetIonisation()->GetMeanExcitationEnergy();
1024 Density = CE4Material->GetDensity()/(g/cm3);
1025 Radlen = CE4Material->GetRadlen();
1026 cout<<
"CE4: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1028 _BesKalmanFitMaterials.push_back(FitCE4Material);
1029 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1034 ss <<
"Cathode_Rohacell2_logic" << j ;
1036 G4LogicalVolume* logicalCR2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1037 G4Material* CR2Material = logicalCR2Volume->GetMaterial();
1038 CR2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCR2Volume->GetSolid());
1041 for(i=0; i<CR2Material->GetElementVector()->size(); i++){
1042 Z += (CR2Material->GetElement(i)->GetZ())*
1043 (CR2Material->GetFractionVector()[i]);
1044 A += (CR2Material->GetElement(i)->GetA())*
1045 (CR2Material->GetFractionVector()[i]);
1047 Ionization = CR2Material->GetIonisation()->GetMeanExcitationEnergy();
1048 Density = CR2Material->GetDensity()/(g/cm3);
1049 Radlen = CR2Material->GetRadlen();
1050 cout<<
"CR2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1052 _BesKalmanFitMaterials.push_back(FitCR2Material);
1053 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1057 ss <<
"Cathode_Epoxy3_logic" << j ;
1059 G4LogicalVolume* logicalCE3Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1060 G4Material* CE3Material = logicalCE3Volume->GetMaterial();
1061 CE3Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCE3Volume->GetSolid());
1064 for(i=0; i<CE3Material->GetElementVector()->size(); i++){
1065 Z += (CE3Material->GetElement(i)->GetZ())*
1066 (CE3Material->GetFractionVector()[i]);
1067 A += (CE3Material->GetElement(i)->GetA())*
1068 (CE3Material->GetFractionVector()[i]);
1070 Ionization = CE3Material->GetIonisation()->GetMeanExcitationEnergy();
1071 Density = CE3Material->GetDensity()/(g/cm3);
1072 Radlen = CE3Material->GetRadlen();
1073 cout<<
"CE3: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1075 _BesKalmanFitMaterials.push_back(FitCE3Material);
1076 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1080 ss <<
"Cathode_Kapton2_logic" << j ;
1082 G4LogicalVolume* logicalCK2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1083 G4Material* CK2Material = logicalCK2Volume->GetMaterial();
1084 CK2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCK2Volume->GetSolid());
1087 for(i=0; i<CK2Material->GetElementVector()->size(); i++){
1088 Z += (CK2Material->GetElement(i)->GetZ())*
1089 (CK2Material->GetFractionVector()[i]);
1090 A += (CK2Material->GetElement(i)->GetA())*
1091 (CK2Material->GetFractionVector()[i]);
1093 Ionization = CK2Material->GetIonisation()->GetMeanExcitationEnergy();
1094 Density = CK2Material->GetDensity()/(g/cm3);
1095 Radlen = CK2Material->GetRadlen();
1096 cout<<
"CK2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1098 _BesKalmanFitMaterials.push_back(FitCK2Material);
1099 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1103 ss <<
"Cathode_Epoxy2_logic" << j ;
1105 G4LogicalVolume* logicalCE2Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1106 G4Material* CE2Material = logicalCE2Volume->GetMaterial();
1107 CE2Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCE2Volume->GetSolid());
1110 for(i=0; i<CE2Material->GetElementVector()->size(); i++){
1111 Z += (CE2Material->GetElement(i)->GetZ())*
1112 (CE2Material->GetFractionVector()[i]);
1113 A += (CE2Material->GetElement(i)->GetA())*
1114 (CE2Material->GetFractionVector()[i]);
1116 Ionization = CE2Material->GetIonisation()->GetMeanExcitationEnergy();
1117 Density = CE2Material->GetDensity()/(g/cm3);
1118 Radlen = CE2Material->GetRadlen();
1119 cout<<
"CE2: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1121 _BesKalmanFitMaterials.push_back(FitCE2Material);
1122 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1126 ss <<
"Cathode_Rohacell1_logic" << j ;
1128 G4LogicalVolume* logicalCR1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1129 G4Material* CR1Material = logicalCR1Volume->GetMaterial();
1130 CR1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCR1Volume->GetSolid());
1133 for(i=0; i<CR1Material->GetElementVector()->size(); i++){
1134 Z += (CR1Material->GetElement(i)->GetZ())*
1135 (CR1Material->GetFractionVector()[i]);
1136 A += (CR1Material->GetElement(i)->GetA())*
1137 (CR1Material->GetFractionVector()[i]);
1139 Ionization = CR1Material->GetIonisation()->GetMeanExcitationEnergy();
1140 Density = CR1Material->GetDensity()/(g/cm3);
1141 Radlen = CR1Material->GetRadlen();
1142 cout<<
"CR1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1144 _BesKalmanFitMaterials.push_back(FitCR1Material);
1145 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1149 ss <<
"Cathode_Epoxy1_logic" << j ;
1151 G4LogicalVolume* logicalCE1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1152 G4Material* CE1Material = logicalCE1Volume->GetMaterial();
1153 CE1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCE1Volume->GetSolid());
1156 for(i=0; i<CE1Material->GetElementVector()->size(); i++){
1157 Z += (CE1Material->GetElement(i)->GetZ())*
1158 (CE1Material->GetFractionVector()[i]);
1159 A += (CE1Material->GetElement(i)->GetA())*
1160 (CE1Material->GetFractionVector()[i]);
1162 Ionization = CE1Material->GetIonisation()->GetMeanExcitationEnergy();
1163 Density = CE1Material->GetDensity()/(g/cm3);
1164 Radlen = CE1Material->GetRadlen();
1165 cout<<
"CE1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1167 _BesKalmanFitMaterials.push_back(FitCE1Material);
1168 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1172 ss << "Cathode_Honeycomb_logic" << j ;
1174 G4LogicalVolume* logicalCHVolume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume(s));
1175 G4Material* CHMaterial = logicalCHVolume->GetMaterial();
1176 CHTub[j] = dynamic_cast<G4Tubs*>(logicalCHVolume->GetSolid());
1179 for(i=0; i<CHMaterial->GetElementVector()->size(); i++){
1180 Z += (CHMaterial->GetElement(i)->GetZ())*
1181 (CHMaterial->GetFractionVector()[i]);
1182 A += (CHMaterial->GetElement(i)->GetA())*
1183 (CHMaterial->GetFractionVector()[i]);
1185 Ionization = CHMaterial->GetIonisation()->GetMeanExcitationEnergy();
1186 Density = CHMaterial->GetDensity()/(g/cm3);
1187 Radlen = CHMaterial->GetRadlen();
1188 cout<<"CH: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
1189 KalFitMaterial FitCHMaterial(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
1190 _BesKalmanFitMaterials.push_back(FitCHMaterial);
1191 cout << "@@@@" << _BesKalmanFitMaterials.size() << endl;
1195 ss <<
"Cathode_Kapton1_logic" << j ;
1197 G4LogicalVolume* logicalCK1Volume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1198 G4Material* CK1Material = logicalCK1Volume->GetMaterial();
1199 CK1Tub[j] =
dynamic_cast<G4Tubs*
>(logicalCK1Volume->GetSolid());
1202 for(i=0; i<CK1Material->GetElementVector()->size(); i++){
1203 Z += (CK1Material->GetElement(i)->GetZ())*
1204 (CK1Material->GetFractionVector()[i]);
1205 A += (CK1Material->GetElement(i)->GetA())*
1206 (CK1Material->GetFractionVector()[i]);
1208 Ionization = CK1Material->GetIonisation()->GetMeanExcitationEnergy();
1209 Density = CK1Material->GetDensity()/(g/cm3);
1210 Radlen = CK1Material->GetRadlen();
1211 cout<<
"CK1: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1213 _BesKalmanFitMaterials.push_back(FitCK1Material);
1214 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1218 ss << "Cathode_Cu1_logic" << j ;
1220 G4LogicalVolume* logicalCC1Volume = const_cast<G4LogicalVolume*>(GDMLProcessor::GetInstance()->GetLogicalVolume(s));
1221 G4Material* CC1Material = logicalCC1Volume->GetMaterial();
1222 CC1Tub[j] = dynamic_cast<G4Tubs*>(logicalCC1Volume->GetSolid());
1225 for(i=0; i<CC1Material->GetElementVector()->size(); i++){
1226 Z += (CC1Material->GetElement(i)->GetZ())*
1227 (CC1Material->GetFractionVector()[i]);
1228 A += (CC1Material->GetElement(i)->GetA())*
1229 (CC1Material->GetFractionVector()[i]);
1231 Ionization = CC1Material->GetIonisation()->GetMeanExcitationEnergy();
1232 Density = CC1Material->GetDensity()/(g/cm3);
1233 Radlen = CC1Material->GetRadlen();
1234 cout<<"CC1: Z: "<<Z<<" A: "<<(A/(g/mole))<<" Ionization: "<<(Ionization/eV)<<" Density: "<<Density<<" Radlen: "<<Radlen<<endl;
1235 KalFitMaterial FitCC1Material(Z,A/g/mole,Ionization/eV,Density,Radlen/10.);
1236 _BesKalmanFitMaterials.push_back(FitCC1Material);
1237 cout << "@@@@" << _BesKalmanFitMaterials.size() << endl;
1242 ss <<
"CgemLayer_logic" << j ;
1245 G4LogicalVolume* logicalCLayerVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
s));
1246 G4Material* CLayerMaterial = logicalCLayerVolume->GetMaterial();
1249 for(i=0; i<CLayerMaterial->GetElementVector()->size(); i++){
1250 Z += (CLayerMaterial->GetElement(i)->GetZ())*
1251 (CLayerMaterial->GetFractionVector()[i]);
1252 A += (CLayerMaterial->GetElement(i)->GetA())*
1253 (CLayerMaterial->GetFractionVector()[i]);
1255 Ionization = CLayerMaterial->GetIonisation()->GetMeanExcitationEnergy();
1256 Density = CLayerMaterial->GetDensity()/(g/cm3);
1257 Radlen = CLayerMaterial->GetRadlen();
1258 cout<<
"CLayer: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1260 _BesKalmanFitMaterials.push_back(FitCLayerMaterial);
1261 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1267 G4LogicalVolume *logicalBes = 0;
1272 G4LogicalVolume* logicalAirVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
"logicalWorld"));
1273 G4Material* airMaterial = logicalAirVolume->GetMaterial();
1276 for(i=0; i<airMaterial->GetElementVector()->size(); i++){
1277 Z += (airMaterial->GetElement(i)->GetZ())*
1278 (airMaterial->GetFractionVector()[i]);
1279 A += (airMaterial->GetElement(i)->GetA())*
1280 (airMaterial->GetFractionVector()[i]);
1283 Ionization = airMaterial->GetIonisation()->GetMeanExcitationEnergy();
1284 Density = airMaterial->GetDensity()/(g/cm3);
1285 Radlen = airMaterial->GetRadlen();
1286 cout<<
"air: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1288 _BesKalmanFitMaterials.push_back(FitAirMaterial);
1289 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1292 G4LogicalVolume* logicalOuterBeVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
"logicalouterBe"));
1293 G4Material* outerBeMaterial = logicalOuterBeVolume->GetMaterial();
1295 G4Tubs* outerBeTub =
dynamic_cast<G4Tubs*
>(logicalOuterBeVolume->GetSolid());
1298 for(i=0; i<outerBeMaterial->GetElementVector()->size(); i++){
1299 Z += (outerBeMaterial->GetElement(i)->GetZ())*
1300 (outerBeMaterial->GetFractionVector()[i]);
1301 A += (outerBeMaterial->GetElement(i)->GetA())*
1302 (outerBeMaterial->GetFractionVector()[i]);
1304 Ionization = outerBeMaterial->GetIonisation()->GetMeanExcitationEnergy();
1305 Density = outerBeMaterial->GetDensity()/(g/cm3);
1306 Radlen = outerBeMaterial->GetRadlen();
1307 cout<<
"outer beryllium: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1309 _BesKalmanFitMaterials.push_back(FitOuterBeMaterial);
1310 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1314 G4LogicalVolume* logicalOilLayerVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
"logicaloilLayer"));
1315 G4Material* oilLayerMaterial = logicalOilLayerVolume->GetMaterial();
1316 G4Tubs* oilLayerTub =
dynamic_cast<G4Tubs*
>(logicalOilLayerVolume->GetSolid());
1320 for(i=0; i<oilLayerMaterial->GetElementVector()->size(); i++){
1321 Z += (oilLayerMaterial->GetElement(i)->GetZ())*
1322 (oilLayerMaterial->GetFractionVector()[i]);
1323 A += (oilLayerMaterial->GetElement(i)->GetA())*
1324 (oilLayerMaterial->GetFractionVector()[i]);
1326 Ionization = oilLayerMaterial->GetIonisation()->GetMeanExcitationEnergy();
1327 Density = oilLayerMaterial->GetDensity()/(g/cm3);
1328 Radlen = oilLayerMaterial->GetRadlen();
1329 cout<<
"cooling oil: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1331 _BesKalmanFitMaterials.push_back(FitOilLayerMaterial);
1332 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1336 G4LogicalVolume* logicalInnerBeVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
"logicalinnerBe"));
1337 G4Material* innerBeMaterial = logicalInnerBeVolume->GetMaterial();
1338 G4Tubs* innerBeTub =
dynamic_cast<G4Tubs*
>(logicalInnerBeVolume->GetSolid());
1341 for(i=0; i<innerBeMaterial->GetElementVector()->size(); i++){
1342 Z += (innerBeMaterial->GetElement(i)->GetZ())*
1343 (innerBeMaterial->GetFractionVector()[i]);
1344 A += (innerBeMaterial->GetElement(i)->GetA())*
1345 (innerBeMaterial->GetFractionVector()[i]);
1348 Ionization = innerBeMaterial->GetIonisation()->GetMeanExcitationEnergy();
1349 Density = innerBeMaterial->GetDensity()/(g/cm3);
1350 Radlen = innerBeMaterial->GetRadlen();
1351 cout<<
"inner beryllium: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1353 _BesKalmanFitMaterials.push_back(FitInnerBeMaterial);
1354 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1358 G4LogicalVolume* logicalGoldLayerVolume =
const_cast<G4LogicalVolume*
>(GDMLProcessor::GetInstance()->GetLogicalVolume(
"logicalgoldLayer"));
1359 G4Material* goldLayerMaterial = logicalGoldLayerVolume->GetMaterial();
1360 G4Tubs* goldLayerTub =
dynamic_cast<G4Tubs*
>(logicalGoldLayerVolume->GetSolid());
1364 for(i=0; i<goldLayerMaterial->GetElementVector()->size(); i++){
1365 Z += (goldLayerMaterial->GetElement(i)->GetZ())*
1366 (goldLayerMaterial->GetFractionVector()[i]);
1367 A += (goldLayerMaterial->GetElement(i)->GetA())*
1368 (goldLayerMaterial->GetFractionVector()[i]);
1370 Ionization = goldLayerMaterial->GetIonisation()->GetMeanExcitationEnergy();
1371 Density = goldLayerMaterial->GetDensity()/(g/cm3);
1372 Radlen = goldLayerMaterial->GetRadlen();
1373 cout<<
"gold layer: Z: "<<Z<<
" A: "<<(A/(g/mole))<<
" Ionization: "<<(
Ionization/eV)<<
" Density: "<<Density<<
" Radlen: "<<Radlen<<endl;
1375 _BesKalmanFitMaterials.push_back(FitGoldLayerMaterial);
1376 cout <<
"@@@@" << _BesKalmanFitMaterials.size() << endl;
1380 double radius, thick, length , z0;
1385 radius = innerwallFilm1Tub->GetInnerRadius()/(cm);
1386 thick = innerwallFilm1Tub->GetOuterRadius()/(cm) - innerwallFilm1Tub->GetInnerRadius()/(cm);
1387 length = 2.0*innerwallFilm1Tub->GetZHalfLength()/(cm);
1389 std::cout<<"innerwallFilm1: "<<" radius: "<<radius<<" thick:"<<thick<<" length: "<<length<<std::endl;
1390 KalFitCylinder innerwallFilm1Cylinder(&_BesKalmanFitMaterials[1], radius, thick, length , z0);
1391 _BesKalmanFitWalls.push_back(innerwallFilm1Cylinder);
1395 radius = innerwallTub->GetInnerRadius()/(cm);
1396 thick = innerwallTub->GetOuterRadius()/(cm) - innerwallTub->GetInnerRadius()/(cm);
1397 length = 2.0*innerwallTub->GetZHalfLength()/(cm);
1399 cout<<"innerwall: "<<" radius: "<<radius<<" thick:"<<thick<<" length: "<<length<<endl;
1400 KalFitCylinder innerwallCylinder(&_BesKalmanFitMaterials[2], radius, thick, length , z0);
1401 _BesKalmanFitWalls.push_back(innerwallCylinder);
1404 radius = innerwallFilm0Tub->GetInnerRadius()/(cm);
1405 thick = innerwallFilm0Tub->GetOuterRadius()/(cm) - innerwallFilm0Tub->GetInnerRadius()/(cm);
1406 length = 2.0*innerwallFilm0Tub->GetZHalfLength()/(cm);
1408 std::cout<<"innerwallFilm0: "<<" radius: "<<radius<<" thick:"<<thick<<" length: "<<length<<std::endl;
1409 KalFitCylinder innerwallFilm0Cylinder(&_BesKalmanFitMaterials[3], radius, thick, length , z0);
1410 _BesKalmanFitWalls.push_back(innerwallFilm0Cylinder);
1414 radius = SeparatorTub->GetInnerRadius()/(cm);
1415 thick = SeparatorTub->GetOuterRadius()/(cm) - SeparatorTub->GetInnerRadius()/(cm);
1416 length = 2.0*SeparatorTub->GetZHalfLength()/(cm);
1418 std::cout<<
"Separator: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1419 KalFitCylinder SeparatorCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1420 _BesKalmanFitWalls.push_back(SeparatorCylinder);
1421 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1422 for(
int i=2;i>=0;i--){
1458 radius = AK4Tub[i]->GetInnerRadius()/(cm);
1459 thick = AK4Tub[i]->GetOuterRadius()/(cm) - AK4Tub[i]->GetInnerRadius()/(cm);
1460 length = 2.0*AK4Tub[i]->GetZHalfLength()/(cm);
1462 std::cout<<
"AK4: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1463 KalFitCylinder AK4Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1464 _BesKalmanFitWalls.push_back(AK4Cylinder);
1465 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1479 radius = AC3Tub[i]->GetInnerRadius()/(cm);
1480 thick = AC3Tub[i]->GetOuterRadius()/(cm) - AC3Tub[i]->GetInnerRadius()/(cm);
1481 length = 2.0*AC3Tub[i]->GetZHalfLength()/(cm);
1483 std::cout<<
"AC3: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1484 KalFitCylinder AC3Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1485 _BesKalmanFitWalls.push_back(AC3Cylinder);
1486 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1489 radius = AE5Tub[i]->GetInnerRadius()/(cm);
1490 thick = AE5Tub[i]->GetOuterRadius()/(cm) - AE5Tub[i]->GetInnerRadius()/(cm);
1491 length = 2.0*AE5Tub[i]->GetZHalfLength()/(cm);
1493 std::cout<<
"AE5: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1494 KalFitCylinder AE5Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1495 _BesKalmanFitWalls.push_back(AE5Cylinder);
1496 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1499 radius = AR2Tub[i]->GetInnerRadius()/(cm);
1500 thick = AR2Tub[i]->GetOuterRadius()/(cm) - AR2Tub[i]->GetInnerRadius()/(cm);
1501 length = 2.0*AR2Tub[i]->GetZHalfLength()/(cm);
1503 std::cout<<
"AR2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1504 KalFitCylinder AR2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1505 _BesKalmanFitWalls.push_back(AR2Cylinder);
1506 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1509 radius = AE4Tub[i]->GetInnerRadius()/(cm);
1510 thick = AE4Tub[i]->GetOuterRadius()/(cm) - AE4Tub[i]->GetInnerRadius()/(cm);
1511 length = 2.0*AE4Tub[i]->GetZHalfLength()/(cm);
1513 std::cout<<
"AE4: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1514 KalFitCylinder AE4Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1515 _BesKalmanFitWalls.push_back(AE4Cylinder);
1516 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1519 radius = AK3Tub[i]->GetInnerRadius()/(cm);
1520 thick = AK3Tub[i]->GetOuterRadius()/(cm) - AK3Tub[i]->GetInnerRadius()/(cm);
1521 length = 2.0*AK3Tub[i]->GetZHalfLength()/(cm);
1523 std::cout<<
"AK3: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1524 KalFitCylinder AK3Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1525 _BesKalmanFitWalls.push_back(AK3Cylinder);
1526 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1529 radius = AE3Tub[i]->GetInnerRadius()/(cm);
1530 thick = AE3Tub[i]->GetOuterRadius()/(cm) - AE3Tub[i]->GetInnerRadius()/(cm);
1531 length = 2.0*AE3Tub[i]->GetZHalfLength()/(cm);
1533 std::cout<<
"AE3: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1534 KalFitCylinder AE3Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1535 _BesKalmanFitWalls.push_back(AE3Cylinder);
1536 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1539 radius = AR1Tub[i]->GetInnerRadius()/(cm);
1540 thick = AR1Tub[i]->GetOuterRadius()/(cm) - AR1Tub[i]->GetInnerRadius()/(cm);
1541 length = 2.0*AR1Tub[i]->GetZHalfLength()/(cm);
1543 std::cout<<
"AR1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1544 KalFitCylinder AR1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1545 _BesKalmanFitWalls.push_back(AR1Cylinder);
1546 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1549 radius = AE2Tub[i]->GetInnerRadius()/(cm);
1550 thick = AE2Tub[i]->GetOuterRadius()/(cm) - AE2Tub[i]->GetInnerRadius()/(cm);
1551 length = 2.0*AE2Tub[i]->GetZHalfLength()/(cm);
1553 std::cout<<
"AE2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1554 KalFitCylinder AE2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1555 _BesKalmanFitWalls.push_back(AE2Cylinder);
1556 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1559 radius = AK2Tub[i]->GetInnerRadius()/(cm);
1560 thick = AK2Tub[i]->GetOuterRadius()/(cm) - AK2Tub[i]->GetInnerRadius()/(cm);
1561 length = 2.0*AK2Tub[i]->GetZHalfLength()/(cm);
1563 std::cout<<
"AK2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1564 KalFitCylinder AK2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1565 _BesKalmanFitWalls.push_back(AK2Cylinder);
1566 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1569 radius = AE1Tub[i]->GetInnerRadius()/(cm);
1570 thick = AE1Tub[i]->GetOuterRadius()/(cm) - AE1Tub[i]->GetInnerRadius()/(cm);
1571 length = 2.0*AE1Tub[i]->GetZHalfLength()/(cm);
1573 std::cout<<
"AE1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1574 KalFitCylinder AE1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1575 _BesKalmanFitWalls.push_back(AE1Cylinder);
1576 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1579 radius = AC2Tub[i]->GetInnerRadius()/(cm);
1580 thick = AC2Tub[i]->GetOuterRadius()/(cm) - AC2Tub[i]->GetInnerRadius()/(cm);
1581 length = 2.0*AC2Tub[i]->GetZHalfLength()/(cm);
1583 std::cout<<
"AC2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1584 KalFitCylinder AC2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1585 _BesKalmanFitWalls.push_back(AC2Cylinder);
1586 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1589 radius = AK1Tub[i]->GetInnerRadius()/(cm);
1590 thick = AK1Tub[i]->GetOuterRadius()/(cm) - AK1Tub[i]->GetInnerRadius()/(cm);
1591 length = 2.0*AK1Tub[i]->GetZHalfLength()/(cm);
1593 std::cout<<
"AK1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1594 KalFitCylinder AK1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1595 _BesKalmanFitWalls.push_back(AK1Cylinder);
1596 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1599 radius = AC1Tub[i]->GetInnerRadius()/(cm);
1600 thick = AC1Tub[i]->GetOuterRadius()/(cm) - AC1Tub[i]->GetInnerRadius()/(cm);
1601 length = 2.0*AC1Tub[i]->GetZHalfLength()/(cm);
1603 std::cout<<
"AC1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1604 KalFitCylinder AC1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1605 _BesKalmanFitWalls.push_back(AC1Cylinder);
1606 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1621 radius = GAPITub[i]->GetInnerRadius()/(cm);
1622 thick = GAPITub[i]->GetOuterRadius()/(cm) - GAPITub[i]->GetInnerRadius()/(cm);
1623 length = 2.0*GAPITub[i]->GetZHalfLength()/(cm);
1625 std::cout<<
"GAPI: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1626 KalFitCylinder GAPICylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1627 _BesKalmanFitWalls.push_back(GAPICylinder);
1628 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1632 radius = FC22Tub[i]->GetInnerRadius()/(cm);
1633 thick = FC22Tub[i]->GetOuterRadius()/(cm) - FC22Tub[i]->GetInnerRadius()/(cm);
1634 length = 2.0*FC22Tub[i]->GetZHalfLength()/(cm);
1636 std::cout<<
"FC22: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1637 KalFitCylinder FC22Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1638 _BesKalmanFitWalls.push_back(FC22Cylinder);
1639 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1642 radius = FK2Tub[i]->GetInnerRadius()/(cm);
1643 thick = FK2Tub[i]->GetOuterRadius()/(cm) - FK2Tub[i]->GetInnerRadius()/(cm);
1644 length = 2.0*FK2Tub[i]->GetZHalfLength()/(cm);
1646 std::cout<<
"FK2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1647 KalFitCylinder FK2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1648 _BesKalmanFitWalls.push_back(FK2Cylinder);
1649 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1652 radius = FC12Tub[i]->GetInnerRadius()/(cm);
1653 thick = FC12Tub[i]->GetOuterRadius()/(cm) - FC12Tub[i]->GetInnerRadius()/(cm);
1654 length = 2.0*FC12Tub[i]->GetZHalfLength()/(cm);
1656 std::cout<<
"FC12: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1657 KalFitCylinder FC12Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1658 _BesKalmanFitWalls.push_back(FC12Cylinder);
1659 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1662 radius = GAPT2Tub[i]->GetInnerRadius()/(cm);
1663 thick = GAPT2Tub[i]->GetOuterRadius()/(cm) - GAPT2Tub[i]->GetInnerRadius()/(cm);
1664 length = 2.0*GAPT2Tub[i]->GetZHalfLength()/(cm);
1666 std::cout<<
"GAPT2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1667 KalFitCylinder GAPT2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1668 _BesKalmanFitWalls.push_back(GAPT2Cylinder);
1669 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1673 radius = FC21Tub[i]->GetInnerRadius()/(cm);
1674 thick = FC21Tub[i]->GetOuterRadius()/(cm) - FC21Tub[i]->GetInnerRadius()/(cm);
1675 length = 2.0*FC21Tub[i]->GetZHalfLength()/(cm);
1677 std::cout<<
"FC21: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1678 KalFitCylinder FC21Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1679 _BesKalmanFitWalls.push_back(FC21Cylinder);
1680 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1683 radius = FK1Tub[i]->GetInnerRadius()/(cm);
1684 thick = FK1Tub[i]->GetOuterRadius()/(cm) - FK1Tub[i]->GetInnerRadius()/(cm);
1685 length = 2.0*FK1Tub[i]->GetZHalfLength()/(cm);
1687 std::cout<<
"FK1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1688 KalFitCylinder FK1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1689 _BesKalmanFitWalls.push_back(FK1Cylinder);
1690 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1693 radius = FC11Tub[i]->GetInnerRadius()/(cm);
1694 thick = FC11Tub[i]->GetOuterRadius()/(cm) - FC11Tub[i]->GetInnerRadius()/(cm);
1695 length = 2.0*FC11Tub[i]->GetZHalfLength()/(cm);
1697 std::cout<<
"FC11: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1698 KalFitCylinder FC11Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1699 _BesKalmanFitWalls.push_back(FC11Cylinder);
1700 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1703 radius = GAPT1Tub[i]->GetInnerRadius()/(cm);
1704 thick = GAPT1Tub[i]->GetOuterRadius()/(cm) - GAPT1Tub[i]->GetInnerRadius()/(cm);
1705 length = 2.0*GAPT1Tub[i]->GetZHalfLength()/(cm);
1707 std::cout<<
"GAPT1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1708 KalFitCylinder GAPT1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1709 _BesKalmanFitWalls.push_back(GAPT1Cylinder);
1710 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1714 radius = FC20Tub[i]->GetInnerRadius()/(cm);
1715 thick = FC20Tub[i]->GetOuterRadius()/(cm) - FC20Tub[i]->GetInnerRadius()/(cm);
1716 length = 2.0*FC20Tub[i]->GetZHalfLength()/(cm);
1718 std::cout<<
"FC20: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1719 KalFitCylinder FC20Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1720 _BesKalmanFitWalls.push_back(FC20Cylinder);
1721 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1724 radius = FK0Tub[i]->GetInnerRadius()/(cm);
1725 thick = FK0Tub[i]->GetOuterRadius()/(cm) - FK0Tub[i]->GetInnerRadius()/(cm);
1726 length = 2.0*FK0Tub[i]->GetZHalfLength()/(cm);
1728 std::cout<<
"FK0: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1729 KalFitCylinder FK0Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1730 _BesKalmanFitWalls.push_back(FK0Cylinder);
1731 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1734 radius = FC10Tub[i]->GetInnerRadius()/(cm);
1736 thick = FC10Tub[i]->GetOuterRadius()/(cm) - FC10Tub[i]->GetInnerRadius()/(cm);
1737 length = 2.0*FC10Tub[i]->GetZHalfLength()/(cm);
1739 std::cout<<
"FC10: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1740 KalFitCylinder FC10Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1741 _BesKalmanFitWalls.push_back(FC10Cylinder);
1742 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1745 radius = GAPDTub[i]->GetInnerRadius()/(cm);
1746 thick = GAPDTub[i]->GetOuterRadius()/(cm) - GAPDTub[i]->GetInnerRadius()/(cm);
1747 length = 2.0*GAPDTub[i]->GetZHalfLength()/(cm);
1749 std::cout<<
"GAPD: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1750 KalFitCylinder GAPDCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1751 _BesKalmanFitWalls.push_back(GAPDCylinder);
1752 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1755 radius = CCuTub[i]->GetInnerRadius()/(cm);
1756 thick = CCuTub[i]->GetOuterRadius()/(cm) - CCuTub[i]->GetInnerRadius()/(cm);
1757 length = 2.0*CCuTub[i]->GetZHalfLength()/(cm);
1759 std::cout<<
"CCu: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1760 KalFitCylinder CCuCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1761 _BesKalmanFitWalls.push_back(CCuCylinder);
1762 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1765 radius = CK3Tub[i]->GetInnerRadius()/(cm);
1766 thick = CK3Tub[i]->GetOuterRadius()/(cm) - CK3Tub[i]->GetInnerRadius()/(cm);
1767 length = 2.0*CK3Tub[i]->GetZHalfLength()/(cm);
1769 std::cout<<
"CK3: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1770 KalFitCylinder CK3Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1771 _BesKalmanFitWalls.push_back(CK3Cylinder);
1772 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1775 radius = CE4Tub[i]->GetInnerRadius()/(cm);
1776 thick = CE4Tub[i]->GetOuterRadius()/(cm) - CE4Tub[i]->GetInnerRadius()/(cm);
1777 length = 2.0*CE4Tub[i]->GetZHalfLength()/(cm);
1779 std::cout<<
"CE4: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1780 KalFitCylinder CE4Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1781 _BesKalmanFitWalls.push_back(CE4Cylinder);
1782 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1785 radius = CR2Tub[i]->GetInnerRadius()/(cm);
1786 thick = CR2Tub[i]->GetOuterRadius()/(cm) - CR2Tub[i]->GetInnerRadius()/(cm);
1787 length = 2.0*CR2Tub[i]->GetZHalfLength()/(cm);
1789 std::cout<<
"CR2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1790 KalFitCylinder CR2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1791 _BesKalmanFitWalls.push_back(CR2Cylinder);
1792 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1795 radius = CE3Tub[i]->GetInnerRadius()/(cm);
1796 thick = CE3Tub[i]->GetOuterRadius()/(cm) - CE3Tub[i]->GetInnerRadius()/(cm);
1797 length = 2.0*CE3Tub[i]->GetZHalfLength()/(cm);
1799 std::cout<<
"CE3: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1800 KalFitCylinder CE3Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1801 _BesKalmanFitWalls.push_back(CE3Cylinder);
1802 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1805 radius = CK2Tub[i]->GetInnerRadius()/(cm);
1806 thick = CK2Tub[i]->GetOuterRadius()/(cm) - CK2Tub[i]->GetInnerRadius()/(cm);
1807 length = 2.0*CK2Tub[i]->GetZHalfLength()/(cm);
1809 std::cout<<
"CK2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1810 KalFitCylinder CK2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1811 _BesKalmanFitWalls.push_back(CK2Cylinder);
1812 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1815 radius = CE2Tub[i]->GetInnerRadius()/(cm);
1816 thick = CE2Tub[i]->GetOuterRadius()/(cm) - CE2Tub[i]->GetInnerRadius()/(cm);
1817 length = 2.0*CE2Tub[i]->GetZHalfLength()/(cm);
1819 std::cout<<
"CE2: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1820 KalFitCylinder CE2Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1821 _BesKalmanFitWalls.push_back(CE2Cylinder);
1822 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1825 radius = CR1Tub[i]->GetInnerRadius()/(cm);
1826 thick = CR1Tub[i]->GetOuterRadius()/(cm) - CR1Tub[i]->GetInnerRadius()/(cm);
1827 length = 2.0*CR1Tub[i]->GetZHalfLength()/(cm);
1829 std::cout<<
"CR1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1830 KalFitCylinder CR1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1831 _BesKalmanFitWalls.push_back(CR1Cylinder);
1832 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1835 radius = CE1Tub[i]->GetInnerRadius()/(cm);
1836 thick = CE1Tub[i]->GetOuterRadius()/(cm) - CE1Tub[i]->GetInnerRadius()/(cm);
1837 length = 2.0*CE1Tub[i]->GetZHalfLength()/(cm);
1839 std::cout<<
"CE1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1840 KalFitCylinder CE1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1841 _BesKalmanFitWalls.push_back(CE1Cylinder);
1842 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1857 radius = CK1Tub[i]->GetInnerRadius()/(cm);
1858 thick = CK1Tub[i]->GetOuterRadius()/(cm) - CK1Tub[i]->GetInnerRadius()/(cm);
1859 length = 2.0*CK1Tub[i]->GetZHalfLength()/(cm);
1861 std::cout<<
"CK1: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1862 KalFitCylinder CK1Cylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1863 _BesKalmanFitWalls.push_back(CK1Cylinder);
1864 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1880 radius = AK4Tub[i-1]->GetOuterRadius()/(cm);
1881 thick = CK1Tub[i]->GetInnerRadius()/(cm) - AK4Tub[i-1]->GetOuterRadius()/(cm);
1882 length = 2.0*CK1Tub[i]->GetZHalfLength()/(cm);
1884 std::cout<<
"air between layer: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<std::endl;
1885 KalFitCylinder AirBCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1886 _BesKalmanFitWalls.push_back(AirBCylinder);
1887 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1892 radius = outerBeTub->GetOuterRadius()/(cm);
1893 thick = CK1Tub[0]->GetInnerRadius()/(cm) - outerBeTub->GetOuterRadius()/(cm);
1894 length = 2.0*CK1Tub[0]->GetZHalfLength()/(cm);
1896 cout<<
"outer air: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<endl;
1897 KalFitCylinder outerAirCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1898 _BesKalmanFitWalls.push_back(outerAirCylinder);
1899 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1902 radius = outerBeTub->GetInnerRadius()/(cm);
1903 thick = outerBeTub->GetOuterRadius()/(cm) - outerBeTub->GetInnerRadius()/(cm);
1904 length = 2.0*outerBeTub->GetZHalfLength()/(cm);
1906 cout<<
"outer Be: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<endl;
1907 KalFitCylinder outerBeCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1908 _BesKalmanFitWalls.push_back(outerBeCylinder);
1909 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1912 radius = oilLayerTub->GetInnerRadius()/(cm);
1913 thick = oilLayerTub->GetOuterRadius()/(cm) - oilLayerTub->GetInnerRadius()/(cm);
1914 length = 2.0*oilLayerTub->GetZHalfLength()/(cm);
1916 cout<<
"oil layer: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<endl;
1917 KalFitCylinder oilLayerCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1918 _BesKalmanFitWalls.push_back(oilLayerCylinder);
1919 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1922 radius = innerBeTub->GetInnerRadius()/(cm);
1923 thick = innerBeTub->GetOuterRadius()/(cm) - innerBeTub->GetInnerRadius()/(cm);
1924 length = 2.0*innerBeTub->GetZHalfLength()/(cm);
1926 cout<<
"inner Be: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<endl;
1927 KalFitCylinder innerBeCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1928 _BesKalmanFitWalls.push_back(innerBeCylinder);
1929 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
1932 radius = goldLayerTub->GetInnerRadius()/(cm);
1933 thick = goldLayerTub->GetOuterRadius()/(cm) - goldLayerTub->GetInnerRadius()/(cm);
1934 length = 2.0*goldLayerTub->GetZHalfLength()/(cm);
1936 cout<<
"gold layer: "<<
" radius: "<<radius<<
" thick:"<<thick<<
" length: "<<length<<endl;
1937 KalFitCylinder goldLayerCylinder(&_BesKalmanFitMaterials[++k], radius, thick, length , z0);
1938 _BesKalmanFitWalls.push_back(goldLayerCylinder);
1939 cout<<
"wall: "<<k<<
" Z: "<<_BesKalmanFitMaterials[k].Z()<<endl;
void setBesFromGdml(void)
Cylinder is an Element whose shape is a cylinder.
static double mdcGasRadlen_
G4LogicalVolume * GetTopVolume()
Get the top(world) volume;.