Geant4  10.02.p03
XrayFluoDetectorConstruction Class Reference

#include <XrayFluoDetectorConstruction.hh>

Inheritance diagram for XrayFluoDetectorConstruction:
Collaboration diagram for XrayFluoDetectorConstruction:

Public Member Functions

 ~XrayFluoDetectorConstruction ()
 
G4VPhysicalVolumeConstruct ()
 
void ConstructSDandField ()
 
void UpdateGeometry ()
 
void SetOhmicPosThickness (G4double)
 
void SetSampleMaterial (G4String newMaterial)
 
void SetDetectorType (G4String type)
 
void SetSampleGranularity (G4bool granularity)
 
void PhaseSpaceOn ()
 
void PhaseSpaceOff ()
 
G4bool GetPhaseSpaceFlag () const
 
void SetGrainDia (G4double size)
 
void DeleteGrainObjects ()
 
void PrintApparateParameters ()
 
XrayFluoVDetectorTypeGetDetectorType () const
 
G4double GetWorldSizeZ () const
 
G4double GetWorldSizeXY () const
 
G4double GetDeviceThickness () const
 
G4double GetDeviceSizeX () const
 
G4double GetDeviceSizeY () const
 
G4double GetPixelSizeXY () const
 
G4double GetContactSizeXY () const
 
G4int GetNbOfPixels () const
 
G4int GetNbOfPixelRows () const
 
G4int GetNbOfPixelColumns () const
 
G4MaterialGetOhmicPosMaterial () const
 
G4double GetOhmicPosThickness () const
 
G4MaterialGetOhmicNegMaterial () const
 
G4double GetOhmicNegThickness () const
 
G4ThreeVector GetDetectorPosition () const
 
G4ThreeVector GetSamplePosition () const
 
const G4VPhysicalVolumeGetphysiWorld () const
 
const G4VPhysicalVolumeGetHPGe () const
 
const G4VPhysicalVolumeGetSample () const
 
const G4VPhysicalVolumeGetDia1 () const
 
const G4VPhysicalVolumeGetDia3 () const
 
const G4VPhysicalVolumeGetphysiPixel () const
 
const G4VPhysicalVolumeGetOhmicPos () const
 
const G4VPhysicalVolumeGetOhmicNeg () const
 
const G4VPhysicalVolumeGetWindow () const
 
G4MaterialGetSampleMaterial () const
 
G4MaterialGetPixelMaterial () const
 
G4MaterialGetDia1Material () const
 
G4MaterialGetDia3Material () const
 
G4NavigatorGetGeometryNavigator () const
 
G4double GetSampleThickness () const
 
G4double GetSampleSizeXY () const
 
G4double GetDia1Thickness () const
 
G4double GetDia1SizeXY () const
 
G4double GetDia3Thickness () const
 
G4double GetDia3SizeXY () const
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Static Public Member Functions

static XrayFluoDetectorConstructionGetInstance ()
 

Private Member Functions

 XrayFluoDetectorConstruction ()
 
void DefineDefaultMaterials ()
 
G4VPhysicalVolumeConstructApparate ()
 
void ComputeApparateParameters ()
 

Private Attributes

G4NavigatoraNavigator
 
XrayFluoVDetectorTypedetectorType
 
G4bool sampleGranularity
 
G4bool phaseSpaceFlag
 
G4double DeviceSizeX
 
G4double DeviceSizeY
 
G4double DeviceThickness
 
G4BoxsolidWorld
 
G4LogicalVolumelogicWorld
 
G4VPhysicalVolumephysiWorld
 
G4BoxsolidHPGe
 
G4LogicalVolumelogicHPGe
 
G4VPhysicalVolumephysiHPGe
 
G4BoxsolidSample
 
G4LogicalVolumelogicSample
 
G4VPhysicalVolumephysiSample
 
G4TubssolidDia1
 
G4LogicalVolumelogicDia1
 
G4VPhysicalVolumephysiDia1
 
G4TubssolidDia3
 
G4LogicalVolumelogicDia3
 
G4VPhysicalVolumephysiDia3
 
G4BoxsolidOhmicPos
 
G4LogicalVolumelogicOhmicPos
 
G4VPhysicalVolumephysiOhmicPos
 
G4BoxsolidWindow
 
G4LogicalVolumelogicWindow
 
G4VPhysicalVolumephysiWindow
 
G4BoxsolidOhmicNeg
 
G4LogicalVolumelogicOhmicNeg
 
G4VPhysicalVolumephysiOhmicNeg
 
G4BoxsolidPixel
 
G4LogicalVolumelogicPixel
 
G4VPhysicalVolumephysiPixel
 
G4SpheresolidGrain
 
G4LogicalVolumelogicGrain
 
G4VPhysicalVolumephysiGrain
 
XrayFluoNistMaterialsmaterials
 
G4MaterialOhmicPosMaterial
 
G4MaterialOhmicNegMaterial
 
G4MaterialpixelMaterial
 
G4MaterialsampleMaterial
 
G4MaterialDia1Material
 
G4MaterialDia3Material
 
G4MaterialdefaultMaterial
 
G4MaterialwindowMaterial
 
G4double OhmicPosThickness
 
G4double OhmicNegThickness
 
G4double windowThickness
 
G4int PixelCopyNb
 
G4int grainCopyNb
 
G4int NbOfPixels
 
G4int NbOfPixelRows
 
G4int NbOfPixelColumns
 
G4double PixelThickness
 
G4double PixelSizeXY
 
G4double ContactSizeXY
 
G4double SampleThickness
 
G4double SampleSizeXY
 
G4double grainDia
 
G4double Dia1Thickness
 
G4double Dia1SizeXY
 
G4double Dia3Thickness
 
G4double Dia3SizeXY
 
G4double DiaInnerSize
 
G4double Dia3InnerSize
 
G4double ThetaHPGe
 
G4double ThetaDia1
 
G4double ThetaDia3
 
G4double DistDe
 
G4double DistDia
 
G4double Dia3Dist
 
G4double PhiHPGe
 
G4double PhiDia1
 
G4double PhiDia3
 
G4double AlphaDia1
 
G4double AlphaDia3
 
G4RotationMatrix zRotPhiHPGe
 
G4RotationMatrix zRotPhiDia1
 
G4RotationMatrix zRotPhiDia3
 
G4double WorldSizeXY
 
G4double WorldSizeZ
 
XrayFluoDetectorMessengerdetectorMessenger
 
G4Cache< XrayFluoSD * > HPGeSD
 
G4RegionsampleRegion
 

Static Private Attributes

static XrayFluoDetectorConstructioninstance = 0
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Definition at line 69 of file XrayFluoDetectorConstruction.hh.

Constructor & Destructor Documentation

◆ ~XrayFluoDetectorConstruction()

XrayFluoDetectorConstruction::~XrayFluoDetectorConstruction ( )

Definition at line 205 of file XrayFluoDetectorConstruction.cc.

207 {
208  delete detectorMessenger;
209  delete detectorType;
210  G4cout << "XrayFluoDetectorConstruction deleted" << G4endl;
211 }
XrayFluoDetectorMessenger * detectorMessenger
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

◆ XrayFluoDetectorConstruction()

XrayFluoDetectorConstruction::XrayFluoDetectorConstruction ( )
private

Definition at line 73 of file XrayFluoDetectorConstruction.cc.

77  solidHPGe(0),logicHPGe(0),physiHPGe(0),
79  solidDia1(0),logicDia1(0),physiDia1(0),
80  solidDia3(0),logicDia3(0),physiDia3(0),
89 {
91 
92  HPGeSD.Put(0);
93 
94  aNavigator = new G4Navigator();
95 
97 
98  NbOfPixelRows = 1; // should be 1
99  NbOfPixelColumns = 1; // should be 1
101  PixelSizeXY = std::sqrt(40.) * mm;
102  PixelThickness = 2.7 * mm; //should be 3.5 mm
103 
104  G4cout << "PixelThickness(mm): "<< PixelThickness/mm << G4endl;
105  G4cout << "PixelSizeXY(cm): "<< PixelSizeXY/cm << G4endl;
106 
107  ContactSizeXY = PixelSizeXY; //std::sqrt(40) * mm; //should be the same as PixelSizeXY
108  SampleThickness = 4 * mm;
109  SampleSizeXY = 3. * cm;
110  Dia1Thickness = 1. *mm;
111  Dia3Thickness = 1. *mm;
112  Dia1SizeXY = 3. *cm;
113  Dia3SizeXY = 3. *cm;
114 
115 
116  DiaInnerSize = 2.9 * cm; //(Hole in the detector's diaphragm) it was 1 mm
117 
118 
119  OhmicNegThickness = 1e-6*cm;// 0.005
120  OhmicPosThickness = 1e-6*cm;// 0.005
121  windowThickness = 0.008 * cm; //value for aif detector
122  ThetaHPGe = 135. * deg;
123  PhiHPGe = 225. * deg;
124 
125  ThetaDia1 = 135. * deg;
126  PhiDia1 = 90. * deg;
127  AlphaDia1 = 225. * deg;
128 
129  AlphaDia3 = 180. * deg;
130  Dia3Dist = 66.5 * mm;
131  Dia3InnerSize = 1. * mm;
132  ThetaDia3 = 180. * deg;
133  PhiDia3 = 90. * deg;
134 
135  DistDia = 66.5 * mm;
138 
139  grainDia = 1 * mm;
140  PixelCopyNb=0;
141  grainCopyNb=0;
142  G4String defaultDetectorType = "sili";
144 
145 // G4String regName = "SampleRegion";
146 // sampleRegion = new G4Region(regName);
147 
148  if (!phaseSpaceFlag) SetDetectorType(defaultDetectorType);
149 
150  // create commands for interactive definition of the apparate
151 
153 
154  G4cout << "XrayFluoDetectorConstruction created" << G4endl;
155 }
static const double cm
Definition: G4SIunits.hh:118
void Put(const value_type &val) const
Definition: G4Cache.hh:286
XrayFluoDetectorMessenger * detectorMessenger
static XrayFluoNistMaterials * GetInstance()
G4GLOB_DLL std::ostream G4cout
static const double deg
Definition: G4SIunits.hh:151
#define G4endl
Definition: G4ios.hh:61
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ ComputeApparateParameters()

void XrayFluoDetectorConstruction::ComputeApparateParameters ( )
inlineprivate

Definition at line 317 of file XrayFluoDetectorConstruction.hh.

318 {
319  // Compute derived parameters of the apparate
320 
321  if (phaseSpaceFlag) {
322 
323  WorldSizeZ = 10 *CLHEP::m;
324  WorldSizeXY = 10 *CLHEP::m;
325 
326  }
327  else {
328 
330 
331  G4cout << "DeviceThickness(cm): "<< DeviceThickness/CLHEP::cm << G4endl;
332 
335 
336  G4cout << "DeviceSizeX(cm): "<< DeviceSizeX/CLHEP::cm <<G4endl;
337  G4cout << "DeviceSizeY(cm): "<< DeviceSizeY/CLHEP::cm << G4endl;
338 
340  WorldSizeXY = 2 * (DistDe +1.4142 *Dia1SizeXY)+5*CLHEP::m;
341 
342  }
343 }
static const double m
static const double cm
Definition: SystemOfUnits.h:98
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ Construct()

G4VPhysicalVolume * XrayFluoDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 215 of file XrayFluoDetectorConstruction.cc.

216 {
217  return ConstructApparate();
218 }
Here is the call graph for this function:

◆ ConstructApparate()

G4VPhysicalVolume * XrayFluoDetectorConstruction::ConstructApparate ( )
private

Definition at line 264 of file XrayFluoDetectorConstruction.cc.

265 {
266  // complete the apparate parameters definition
267 
268  //ComputeApparateParameters();
269 
270  //world and associated navigator
271 
272  solidWorld = new G4Box("World", //its name
273  WorldSizeXY/2,WorldSizeXY/2,WorldSizeZ/2); //its size
274 
275  logicWorld = new G4LogicalVolume(solidWorld, //its solid
276  defaultMaterial, //its material
277  "World"); //its name
278  physiWorld = new G4PVPlacement(0, //no rotation
279  G4ThreeVector(), //at (0,0,0)
280  "World", //its name
281  logicWorld, //its logical volume
282  0, //its mother volume
283  false, //no boolean operation
284  0); //copy number
285 
287 
288 
289  //HPGeDetector
290 
291  if (!phaseSpaceFlag) {
292 
293  solidHPGe = 0; physiHPGe = 0; logicHPGe=0;
295 
296  if (DeviceThickness > 0.)
297  {
298  solidHPGe = new G4Box("HPGeDetector", //its name
300 
301 
302  logicHPGe = new G4LogicalVolume(solidHPGe, //its solid
303  defaultMaterial, //its material
304  "HPGeDetector"); //its name
305 
307  G4double x,y,z;
308  z = DistDe * std::cos(ThetaHPGe);
309  y =DistDe * std::sin(ThetaHPGe);
310  x = 0.*cm;
312  "HPGeDetector", //its name
313  logicHPGe, //its logical volume
314  physiWorld, //its mother volume
315  false, //no boolean operation
316  0); //copy number
317  }
318  // Pixel
319 
320 
321 
322 
323  for ( G4int j=0; j < NbOfPixelColumns ; j++ )
324  { for ( G4int i=0; i < NbOfPixelRows ; i++ )
325  {
327  if (PixelThickness > 0.)
328  solidPixel = new G4Box("Pixel",
330 
332  pixelMaterial, //its material
333  "Pixel"); //its name
334 
335  /*
336  zRotPhiHPGe.rotateX(PhiHPGe);
337  G4double x,y,z;
338  z = DistDe * std::cos(ThetaHPGe);
339  y =DistDe * std::sin(ThetaHPGe);
340  x = 0.*cm;*/
341  physiPixel = new G4PVPlacement(0,
342  G4ThreeVector(0,
343  i*PixelSizeXY,
344  j*PixelSizeXY ),
345  "Pixel",
346  logicPixel, //its logical volume
347  physiHPGe, //its mother volume
348  false, //no boolean operation
349  PixelCopyNb);//copy number
350 
351 
352 
353 
354 
355 
356  // OhmicNeg
357 
359 
360  if (OhmicNegThickness > 0.)
361  { solidOhmicNeg = new G4Box("OhmicNeg", //its name
363 
364  logicOhmicNeg = new G4LogicalVolume(solidOhmicNeg, //its solid
365  OhmicNegMaterial, //its material
366  "OhmicNeg"); //its name
367 
370  (0.,
371  0.,
373  "OhmicNeg", //its name
374  logicOhmicNeg, //its logical volume
375  physiHPGe, //its mother
376  false, //no boulean operat
377  PixelCopyNb); //copy number
378 
379  }
380  // OhmicPos
382 
383  if (OhmicPosThickness > 0.)
384  { solidOhmicPos = new G4Box("OhmicPos", //its name
386 
387  logicOhmicPos = new G4LogicalVolume(solidOhmicPos, //its solid
388  OhmicPosMaterial, //its material
389  "OhmicPos"); //its name
390 
391  physiOhmicPos = new G4PVPlacement(0,
392  G4ThreeVector(0.,
393  0.,
395  "OhmicPos",
397  physiHPGe,
398  false,
399  PixelCopyNb);
400 
401  }
402 
404  // OhmicPos
406 
407  if (windowThickness > 0.)
408  { solidWindow = new G4Box("Window", //its name
410 
411  logicWindow = new G4LogicalVolume(solidWindow, //its solid
412  windowMaterial, //its material
413  "Window"); //its name
414 
415  physiWindow = new G4PVPlacement(0,
416  G4ThreeVector(0.,
417  0.,
420  "OhmicWindow",
421  logicWindow,
422  physiHPGe,
423  false,
424  PixelCopyNb);
425 
426  }
427 
428 
429 
431  G4cout << "PixelCopyNb: " << PixelCopyNb << G4endl;
432  }
433 
434  }
435 
436  }
437 
438  //Sample
439 
440  if (sampleGranularity) {
441 
443  if (SampleThickness > 0.)
444  {
445  solidSample = new G4Box("Sample", //its name
447 
448  logicSample= new G4LogicalVolume(solidSample, //its solid
449  defaultMaterial, //its material
450  "Sample"); //its name
451 
452  physiSample = new G4PVPlacement(0, //no rotation
453  G4ThreeVector(), //at (0,0,0)
454  "Sample", //its name
455  logicSample, //its logical volume
456  physiWorld, //its mother volume
457  false, //no boolean operation
458  0); //copy number
459 
460  }
461 
462 
463 
464 
465  G4int nbOfGrainsX = ((G4int)(SampleSizeXY/grainDia)) -1 ;
466 
467  // y dim of a max density plane is 2rn-(n-1)ar, wehere a = (1-(std::sqrt(3)/2)), n is
468  // number of rows and r the radius of the grain. so the Y-dim of the sample must
469  // be greater or equal to this. It results that nmust be <= (SampleY-a)/(1-a).
470  // Max Y shift of the planes superimposing along Z axis is minor (2/std::sqrt(3)r)
471 
472  G4double a = (1.-(std::sqrt(3.)/2.));
473  G4int nbOfGrainsY = (G4int) ( ((SampleSizeXY/(grainDia/2.)) -a)/(2.-a) ) -1;
474 
475  // same for the z axis, but a = 2 * (std::sqrt(3) - std::sqrt(2))/std::sqrt(3)
476 
477  G4double b = 2. * (std::sqrt(3.) - std::sqrt(2.))/std::sqrt(3.);
478  G4int nbOfGrainsZ = (G4int) ( ((SampleThickness/(grainDia/2.)) -b)/(2.-b) )-1;
479 
480  if (SampleThickness > 0.){
481 
483  solidGrain = new G4Sphere("Grain",0.,
484  grainDia/2,0., twopi, 0., pi);
485 
487  sampleMaterial, //its material
488  "Grain"); //its name
489  G4ThreeVector grainPosition;
490  G4double grainInitPositionX = 0;
491  G4double grainInitPositionY = 0;
492  G4double grainInitPositionZ = (-1.*SampleThickness/2.+grainDia/2.);
493  G4double grainStepX = grainDia = 0;
494  G4double grainStepY = grainDia*(1.-(0.5-(std::sqrt(3.)/4.)));
495  G4double grainStepZ = grainDia*std::sqrt(2./3.);
496 
497  for ( G4int k=0; k < nbOfGrainsZ ; k++ ) {
498  for ( G4int j=0; j < nbOfGrainsY ; j++ ) {
499  for ( G4int i=0; i < nbOfGrainsX ; i++ ) {
500 
501  // Now we identify the layer and the row where the grain is , to place it in the right position
502 
503 
504 
505  if (k%3 == 0) { // first or (4-multiple)th layer: structure is ABCABC
506  grainInitPositionY = (-1.*SampleSizeXY/2.+grainDia/2.);
507  if (j%2 ==0) { //first or (3-multiple)th row
508  grainInitPositionX = (-1.*SampleSizeXY/2.+grainDia/2.);
509  }
510 
511  else if ( ((j+1) % 2) == 0 ) {
512  grainInitPositionX = (-1.*SampleSizeXY/2.+ grainDia);
513  }
514 
515  }
516  else if ( ((k+2) % 3) == 0 ) { // B-layer
517 
518  grainInitPositionY = ( (-1.*SampleSizeXY/2.) + (grainDia/2.)*(1. + (1./std::sqrt(3.)) ) );
519 
520  if (j%2 ==0) { //first or (3-multiple)th row
521  grainInitPositionX = (-1.*SampleSizeXY/2.+grainDia);
522  }
523 
524  else if ( (j+1)%2 == 0 ) {
525  grainInitPositionX = (-1.*SampleSizeXY/2.+grainDia/2);
526  }
527 
528  }
529 
530  else if ( (k+1)%3 == 0 ) { // B-layer
531 
532  grainInitPositionY = (-1.*SampleSizeXY/2.+(grainDia/2.)*(1.+2./std::sqrt(3.)) );
533 
534  if (j%2 ==0) { //first or (3-multiple)th row
535  grainInitPositionX = (-1.*SampleSizeXY/2.+grainDia/2.);
536  }
537 
538  else if ( (j+1)%2 == 0 ) {
539  grainInitPositionX = (-1.*SampleSizeXY/2.+grainDia);
540  }
541 
542  }
543 
544  physiGrain = new G4PVPlacement(0,
545  G4ThreeVector( grainInitPositionX + i*grainStepX,
546  grainInitPositionY + j*grainStepY,
547  grainInitPositionZ + k*grainStepZ),
548  "Grain",
549  logicGrain, //its logical volume
550  physiSample, //its mother volume
551  false, //no boolean operation
552  grainCopyNb);//copy number
553 
554  grainCopyNb = grainCopyNb +1;
555  }
556  }
557  }
558  }
559  }
560  else {
561 
563  if (SampleThickness > 0.)
564  {
565  solidSample = new G4Box("Sample", //its name
567 
568  logicSample= new G4LogicalVolume(solidSample, //its solid
569  sampleMaterial, //its material
570  "Sample"); //its name
571 
572  physiSample = new G4PVPlacement(0, //no rotation
573  G4ThreeVector(), //at (0,0,0)
574  "Sample", //its name
575  logicSample, //its logical volume
576  physiWorld, //its mother volume
577  false, //no boolean operation
578  0); //copy number
579 
580  }
581  }
582 
583  if (!phaseSpaceFlag) {
584  //Diaphragm1
585 
586  solidDia1 = 0; physiDia1 = 0; logicDia1=0;
587 
588  if (Dia1Thickness > 0.)
589  {
590  solidDia1 = new G4Tubs("Diaphragm1", //its name
591  DiaInnerSize/2,
592  Dia1SizeXY/2,
593  Dia1Thickness/2,
594  0,
595  360);//size
596 
597 
598  logicDia1 = new G4LogicalVolume(solidDia1, //its solid
599  Dia1Material, //its material
600  "Diaphragm1"); //its name
601 
603  G4double x,y,z;
604  z = DistDia * std::cos(ThetaDia1);
605  y =DistDia * std::sin(ThetaDia1);
606  x = 0.*cm;
608  "Diaphragm1", //its name
609  logicDia1, //its logical volume
610  physiWorld, //its mother volume
611  false, //no boolean operation
612  0); //copy number
613  }
614 
615  //Diaphragm3
616 
617  solidDia3 = 0; physiDia3 = 0; logicDia3 =0;
618 
619  if (Dia3Thickness > 0.)
620  {
621  solidDia3 = new G4Tubs("Diaphragm3",
622  Dia3InnerSize/2,
623  Dia3SizeXY/2,
624  Dia3Thickness/2,
625  0,
626  360);
627 
628 
629  logicDia3 = new G4LogicalVolume(solidDia3, //its solid
630  Dia3Material, //its material
631  "Diaphragm3"); //its name
632 
634  G4double x,y,z;
635  z = Dia3Dist * std::cos(ThetaDia3);
636  y =Dia3Dist * std::sin(ThetaDia3);
637  x = 0.*cm;
638  physiDia3 = new G4PVPlacement(G4Transform3D(zRotPhiDia3,G4ThreeVector(x,y,z)), "Diaphragm3", //its name
639  logicDia3, //its logical volume
640  physiWorld, //its mother volume
641  false, //no boolean operation
642  0); //copy number
643  }
644  }
645 
646 
647 
648  // Visualization attributes
649 
651  G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
652  G4VisAttributes * yellow= new G4VisAttributes( G4Colour(255/255. ,255/255. ,51/255. ));
653  G4VisAttributes * red= new G4VisAttributes( G4Colour(255/255. , 0/255. , 0/255. ));
654  G4VisAttributes * blue= new G4VisAttributes( G4Colour(0/255. , 0/255. , 255/255. ));
655  G4VisAttributes * grayc= new G4VisAttributes( G4Colour(128/255. , 128/255. , 128/255. ));
656  G4VisAttributes * lightGray= new G4VisAttributes( G4Colour(178/255. , 178/255. , 178/255. ));
657  G4VisAttributes * green= new G4VisAttributes( G4Colour(0/255. , 255/255. , 0/255. ));
658 
659  yellow->SetVisibility(true);
660  yellow->SetForceSolid(true);
661  red->SetVisibility(true);
662  red->SetForceSolid(true);
663  blue->SetVisibility(true);
664  green->SetVisibility(true);
665  green->SetForceSolid(true);
666  grayc->SetVisibility(true);
667  grayc->SetForceSolid(true);
668  lightGray->SetVisibility(true);
669  lightGray->SetForceSolid(true);
670  simpleBoxVisAtt->SetVisibility(true);
671  if (!phaseSpaceFlag) {
672  logicPixel->SetVisAttributes(red); //modified!!!
674 
675  logicDia1->SetVisAttributes(lightGray);
676  logicDia3->SetVisAttributes(lightGray);
677 
680 
682 
683  }
684  logicSample->SetVisAttributes(simpleBoxVisAtt);
685 
686  if (sampleGranularity) logicSample->SetVisAttributes(simpleBoxVisAtt); // mandatory
687 
688 
689 
691 
692  //always return the physical World
693 
695 
696  return physiWorld;
697 }
static const double cm
Definition: G4SIunits.hh:118
Definition: test07.cc:36
CLHEP::Hep3Vector G4ThreeVector
HepRotation & rotateX(double delta)
Definition: Rotation.cc:66
Definition: G4Box.hh:64
void SetVisibility(G4bool)
Definition: G4Tubs.hh:85
void SetForceSolid(G4bool)
Definition: test07.cc:36
Definition: test07.cc:36
int G4int
Definition: G4Types.hh:78
Double_t y
G4GLOB_DLL std::ostream G4cout
static const double twopi
Definition: G4SIunits.hh:75
HepGeom::Transform3D G4Transform3D
static const double pi
Definition: G4SIunits.hh:74
void SetWorldVolume(G4VPhysicalVolume *pWorld)
static const G4VisAttributes Invisible
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
void SetVisAttributes(const G4VisAttributes *pVA)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConstructSDandField()

void XrayFluoDetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 701 of file XrayFluoDetectorConstruction.cc.

702 {
703  if (!phaseSpaceFlag)
704  {
705 
706  //
707  // Sensitive Detectors
708  //
709  if (HPGeSD.Get() == 0)
710  {
711  XrayFluoSD* SD = new XrayFluoSD ("HPGeSD",this);
712  HPGeSD.Put( SD );
713  }
714 
715  if (logicPixel)
717  }
718  return;
719 }
void Put(const value_type &val) const
Definition: G4Cache.hh:286
value_type & Get() const
Definition: G4Cache.hh:282
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
Here is the call graph for this function:

◆ DefineDefaultMaterials()

void XrayFluoDetectorConstruction::DefineDefaultMaterials ( )
private

Definition at line 222 of file XrayFluoDetectorConstruction.cc.

223 {
224 
225 
226  //define materials of the apparate
227 
228  sampleMaterial = materials->GetMaterial("Dolorite");
229  Dia1Material = materials->GetMaterial("G4_Pb");
230  Dia3Material = materials->GetMaterial("G4_Galactic");
232  //OhmicPosMaterial = materials->GetMaterial("G4_Cu");
235  defaultMaterial = materials->GetMaterial("G4_Galactic");
237 }
G4Material * GetMaterial(G4String)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeleteGrainObjects()

void XrayFluoDetectorConstruction::DeleteGrainObjects ( )

Definition at line 769 of file XrayFluoDetectorConstruction.cc.

770 {
771  if (sampleGranularity) {
772  delete solidGrain;
773  delete logicGrain;
774  delete physiGrain;
775  }
776 
777 }
Here is the caller graph for this function:

◆ GetContactSizeXY()

G4double XrayFluoDetectorConstruction::GetContactSizeXY ( ) const
inline

◆ GetDetectorPosition()

G4ThreeVector XrayFluoDetectorConstruction::GetDetectorPosition ( ) const

Definition at line 781 of file XrayFluoDetectorConstruction.cc.

782 {
783  G4double z = DistDe * std::cos(ThetaHPGe);
784  G4double y = DistDe * std::sin(ThetaHPGe);
785  G4double x = 0.*cm;
786 
787  G4ThreeVector position(x,y,z);
788 
789  return position;
790 
791 }
static const double cm
Definition: G4SIunits.hh:118
Double_t y
#define position
Definition: xmlparse.cc:622
double G4double
Definition: G4Types.hh:76
Here is the caller graph for this function:

◆ GetDetectorType()

XrayFluoVDetectorType * XrayFluoDetectorConstruction::GetDetectorType ( ) const

Definition at line 198 of file XrayFluoDetectorConstruction.cc.

199 {
200  return detectorType;
201 }
Here is the caller graph for this function:

◆ GetDeviceSizeX()

G4double XrayFluoDetectorConstruction::GetDeviceSizeX ( ) const
inline

◆ GetDeviceSizeY()

G4double XrayFluoDetectorConstruction::GetDeviceSizeY ( ) const
inline

◆ GetDeviceThickness()

G4double XrayFluoDetectorConstruction::GetDeviceThickness ( ) const
inline

◆ GetDia1()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetDia1 ( ) const
inline

Definition at line 141 of file XrayFluoDetectorConstruction.hh.

141 {return physiDia1;};

◆ GetDia1Material()

G4Material* XrayFluoDetectorConstruction::GetDia1Material ( ) const
inline

Definition at line 243 of file XrayFluoDetectorConstruction.hh.

◆ GetDia1SizeXY()

G4double XrayFluoDetectorConstruction::GetDia1SizeXY ( ) const
inline

◆ GetDia1Thickness()

G4double XrayFluoDetectorConstruction::GetDia1Thickness ( ) const
inline

◆ GetDia3()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetDia3 ( ) const
inline

Definition at line 142 of file XrayFluoDetectorConstruction.hh.

142 {return physiDia3;};

◆ GetDia3Material()

G4Material* XrayFluoDetectorConstruction::GetDia3Material ( ) const
inline

Definition at line 244 of file XrayFluoDetectorConstruction.hh.

◆ GetDia3SizeXY()

G4double XrayFluoDetectorConstruction::GetDia3SizeXY ( ) const
inline

Definition at line 271 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ GetDia3Thickness()

G4double XrayFluoDetectorConstruction::GetDia3Thickness ( ) const
inline

◆ GetGeometryNavigator()

G4Navigator* XrayFluoDetectorConstruction::GetGeometryNavigator ( ) const
inline

Definition at line 247 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ GetHPGe()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetHPGe ( ) const
inline

Definition at line 139 of file XrayFluoDetectorConstruction.hh.

139 {return physiHPGe;};

◆ GetInstance()

XrayFluoDetectorConstruction * XrayFluoDetectorConstruction::GetInstance ( void  )
static

Definition at line 161 of file XrayFluoDetectorConstruction.cc.

162 {
163  if (instance == 0)
164  {
166 
167  }
168  return instance;
169 }
static XrayFluoDetectorConstruction * instance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetNbOfPixelColumns()

G4int XrayFluoDetectorConstruction::GetNbOfPixelColumns ( ) const
inline

◆ GetNbOfPixelRows()

G4int XrayFluoDetectorConstruction::GetNbOfPixelRows ( ) const
inline

◆ GetNbOfPixels()

G4int XrayFluoDetectorConstruction::GetNbOfPixels ( ) const
inline

Definition at line 125 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ GetOhmicNeg()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetOhmicNeg ( ) const
inline

Definition at line 146 of file XrayFluoDetectorConstruction.hh.

146 {return physiOhmicNeg;};

◆ GetOhmicNegMaterial()

G4Material* XrayFluoDetectorConstruction::GetOhmicNegMaterial ( ) const
inline

Definition at line 132 of file XrayFluoDetectorConstruction.hh.

◆ GetOhmicNegThickness()

G4double XrayFluoDetectorConstruction::GetOhmicNegThickness ( ) const
inline

Definition at line 133 of file XrayFluoDetectorConstruction.hh.

Here is the call graph for this function:

◆ GetOhmicPos()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetOhmicPos ( ) const
inline

Definition at line 145 of file XrayFluoDetectorConstruction.hh.

145 {return physiOhmicPos;};

◆ GetOhmicPosMaterial()

G4Material* XrayFluoDetectorConstruction::GetOhmicPosMaterial ( ) const
inline

Definition at line 129 of file XrayFluoDetectorConstruction.hh.

◆ GetOhmicPosThickness()

G4double XrayFluoDetectorConstruction::GetOhmicPosThickness ( ) const
inline

◆ GetPhaseSpaceFlag()

G4bool XrayFluoDetectorConstruction::GetPhaseSpaceFlag ( ) const
inline

Definition at line 101 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ GetphysiPixel()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetphysiPixel ( ) const
inline

Definition at line 144 of file XrayFluoDetectorConstruction.hh.

144 {return physiPixel;};

◆ GetphysiWorld()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetphysiWorld ( ) const
inline

Definition at line 138 of file XrayFluoDetectorConstruction.hh.

138 {return physiWorld;};

◆ GetPixelMaterial()

G4Material* XrayFluoDetectorConstruction::GetPixelMaterial ( ) const
inline

Definition at line 242 of file XrayFluoDetectorConstruction.hh.

◆ GetPixelSizeXY()

G4double XrayFluoDetectorConstruction::GetPixelSizeXY ( ) const
inline

◆ GetSample()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetSample ( ) const
inline

Definition at line 140 of file XrayFluoDetectorConstruction.hh.

140 {return physiSample;};

◆ GetSampleMaterial()

G4Material* XrayFluoDetectorConstruction::GetSampleMaterial ( ) const
inline

Definition at line 241 of file XrayFluoDetectorConstruction.hh.

◆ GetSamplePosition()

G4ThreeVector XrayFluoDetectorConstruction::GetSamplePosition ( ) const
inline

Definition at line 136 of file XrayFluoDetectorConstruction.hh.

136 {return G4ThreeVector(0,0,0);};
CLHEP::Hep3Vector G4ThreeVector

◆ GetSampleSizeXY()

G4double XrayFluoDetectorConstruction::GetSampleSizeXY ( ) const
inline

Definition at line 265 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ GetSampleThickness()

G4double XrayFluoDetectorConstruction::GetSampleThickness ( ) const
inline

◆ GetWindow()

const G4VPhysicalVolume* XrayFluoDetectorConstruction::GetWindow ( ) const
inline

Definition at line 147 of file XrayFluoDetectorConstruction.hh.

147 {return physiWindow ;};
Here is the call graph for this function:

◆ GetWorldSizeXY()

G4double XrayFluoDetectorConstruction::GetWorldSizeXY ( ) const
inline

◆ GetWorldSizeZ()

G4double XrayFluoDetectorConstruction::GetWorldSizeZ ( ) const
inline

Definition at line 116 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ PhaseSpaceOff()

void XrayFluoDetectorConstruction::PhaseSpaceOff ( )
inline

◆ PhaseSpaceOn()

void XrayFluoDetectorConstruction::PhaseSpaceOn ( )
inline

Definition at line 95 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ PrintApparateParameters()

void XrayFluoDetectorConstruction::PrintApparateParameters ( )

Definition at line 723 of file XrayFluoDetectorConstruction.cc.

724 {
725  G4cout << "-----------------------------------------------------------------------"
726  << G4endl
727  << "The sample is a box whose size is: "
728  << G4endl
730  << " cm * "
731  << SampleSizeXY/cm
732  << " cm * "
733  << SampleSizeXY/cm
734  << " cm"
735  << G4endl
736  <<" Material: " << logicSample->GetMaterial()->GetName()
737  <<G4endl;
738  if (!phaseSpaceFlag) {
739  G4cout <<"The Detector is a slice " << DeviceThickness/(1.e-6*m) << " micron thick of " << pixelMaterial->GetName()
740  <<G4endl
741  << "The Anode is a slice " << OhmicPosThickness/mm << "mm thick of "<< OhmicPosMaterial->GetName()
742  <<G4endl;
743  }
744  G4cout <<"-------------------------------------------------------------------------"
745  << G4endl;
746 }
static const double cm
Definition: G4SIunits.hh:118
G4Material * GetMaterial() const
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
static const double m
Definition: G4SIunits.hh:128
const G4String & GetName() const
Definition: G4Material.hh:178
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetDetectorType()

void XrayFluoDetectorConstruction::SetDetectorType ( G4String  type)

Definition at line 173 of file XrayFluoDetectorConstruction.cc.

174 {
175  if (type=="sili")
176  {
178  }
179  else if (type=="hpge")
180  {
182  }/*
183  else if (type=="aifira")
184  {
185  detectorType = XrayFluoAifSiLi::GetInstance();
186  }*/
187  else
188  {
190  execp << type + "detector type unknown";
191  G4Exception("XrayFluoDataSet::LoadData()","example-xray_fluorescence06",
192  FatalException, execp);
193  }
194  //GeometryHasBeenModified invoked by the messenger
195 
196 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
static XrayFluoSiLiDetectorType * GetInstance()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static XrayFluoHPGeDetectorType * GetInstance()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetGrainDia()

void XrayFluoDetectorConstruction::SetGrainDia ( G4double  size)
inline

Definition at line 104 of file XrayFluoDetectorConstruction.hh.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetOhmicPosThickness()

void XrayFluoDetectorConstruction::SetOhmicPosThickness ( G4double  val)

Definition at line 239 of file XrayFluoDetectorConstruction.cc.

240 {
241 
242  if (!phaseSpaceFlag) {
243 
244 
245  if (val == 0.0) {
246  OhmicPosMaterial = materials->GetMaterial("G4_Galactic");
247  }
248  else {
249  OhmicPosThickness = val;
250  //OhmicPosMaterial = materials->GetMaterial("G4_Cu");
252  }
253 
254  }
255  else{
256  G4cout << "Not available in this configuration" << G4endl;
257  }
258 
259 }
G4GLOB_DLL std::ostream G4cout
G4Material * GetMaterial(G4String)
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetSampleGranularity()

void XrayFluoDetectorConstruction::SetSampleGranularity ( G4bool  granularity)
inline

Definition at line 92 of file XrayFluoDetectorConstruction.hh.

Here is the caller graph for this function:

◆ SetSampleMaterial()

void XrayFluoDetectorConstruction::SetSampleMaterial ( G4String  newMaterial)

Definition at line 795 of file XrayFluoDetectorConstruction.cc.

796 {
797  G4cout << "Material Change in Progress " << newMaterial << G4endl;
798  sampleMaterial = materials->GetMaterial(newMaterial);
801  //GeometryHasBeenModified is called by the messenger
802 }
G4GLOB_DLL std::ostream G4cout
G4Material * GetMaterial(G4String)
#define G4endl
Definition: G4ios.hh:61
void SetMaterial(G4Material *pMaterial)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateGeometry()

void XrayFluoDetectorConstruction::UpdateGeometry ( )

Definition at line 749 of file XrayFluoDetectorConstruction.cc.

750 {
755 
756  if (sampleRegion)
758 
762 
763  //Triggers a new call of Construct() and of all the geometry resets.
765 }
HepRotation & rotateX(double delta)
Definition: Rotation.cc:66
static void Clean()
Definition: G4SolidStore.cc:79
static G4GeometryManager * GetInstance()
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79
void OpenGeometry(G4VPhysicalVolume *vol=0)
void RemoveRootLogicalVolume(G4LogicalVolume *lv, G4bool scan=true)
Definition: G4Region.cc:319
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ AlphaDia1

G4double XrayFluoDetectorConstruction::AlphaDia1
private

Definition at line 287 of file XrayFluoDetectorConstruction.hh.

◆ AlphaDia3

G4double XrayFluoDetectorConstruction::AlphaDia3
private

Definition at line 288 of file XrayFluoDetectorConstruction.hh.

◆ aNavigator

G4Navigator* XrayFluoDetectorConstruction::aNavigator
private

Definition at line 147 of file XrayFluoDetectorConstruction.hh.

◆ ContactSizeXY

G4double XrayFluoDetectorConstruction::ContactSizeXY
private

Definition at line 237 of file XrayFluoDetectorConstruction.hh.

◆ defaultMaterial

G4Material* XrayFluoDetectorConstruction::defaultMaterial
private

Definition at line 215 of file XrayFluoDetectorConstruction.hh.

◆ detectorMessenger

XrayFluoDetectorMessenger* XrayFluoDetectorConstruction::detectorMessenger
private

Definition at line 298 of file XrayFluoDetectorConstruction.hh.

◆ detectorType

XrayFluoVDetectorType* XrayFluoDetectorConstruction::detectorType
private

Definition at line 156 of file XrayFluoDetectorConstruction.hh.

◆ DeviceSizeX

G4double XrayFluoDetectorConstruction::DeviceSizeX
private

Definition at line 161 of file XrayFluoDetectorConstruction.hh.

◆ DeviceSizeY

G4double XrayFluoDetectorConstruction::DeviceSizeY
private

Definition at line 162 of file XrayFluoDetectorConstruction.hh.

◆ DeviceThickness

G4double XrayFluoDetectorConstruction::DeviceThickness
private

Definition at line 163 of file XrayFluoDetectorConstruction.hh.

◆ Dia1Material

G4Material* XrayFluoDetectorConstruction::Dia1Material
private

Definition at line 213 of file XrayFluoDetectorConstruction.hh.

◆ Dia1SizeXY

G4double XrayFluoDetectorConstruction::Dia1SizeXY
private

Definition at line 255 of file XrayFluoDetectorConstruction.hh.

◆ Dia1Thickness

G4double XrayFluoDetectorConstruction::Dia1Thickness
private

Definition at line 254 of file XrayFluoDetectorConstruction.hh.

◆ Dia3Dist

G4double XrayFluoDetectorConstruction::Dia3Dist
private

Definition at line 283 of file XrayFluoDetectorConstruction.hh.

◆ Dia3InnerSize

G4double XrayFluoDetectorConstruction::Dia3InnerSize
private

Definition at line 259 of file XrayFluoDetectorConstruction.hh.

◆ Dia3Material

G4Material* XrayFluoDetectorConstruction::Dia3Material
private

Definition at line 214 of file XrayFluoDetectorConstruction.hh.

◆ Dia3SizeXY

G4double XrayFluoDetectorConstruction::Dia3SizeXY
private

Definition at line 257 of file XrayFluoDetectorConstruction.hh.

◆ Dia3Thickness

G4double XrayFluoDetectorConstruction::Dia3Thickness
private

Definition at line 256 of file XrayFluoDetectorConstruction.hh.

◆ DiaInnerSize

G4double XrayFluoDetectorConstruction::DiaInnerSize
private

Definition at line 258 of file XrayFluoDetectorConstruction.hh.

◆ DistDe

G4double XrayFluoDetectorConstruction::DistDe
private

Definition at line 281 of file XrayFluoDetectorConstruction.hh.

◆ DistDia

G4double XrayFluoDetectorConstruction::DistDia
private

Definition at line 282 of file XrayFluoDetectorConstruction.hh.

◆ grainCopyNb

G4int XrayFluoDetectorConstruction::grainCopyNb
private

Definition at line 228 of file XrayFluoDetectorConstruction.hh.

◆ grainDia

G4double XrayFluoDetectorConstruction::grainDia
private

Definition at line 253 of file XrayFluoDetectorConstruction.hh.

◆ HPGeSD

G4Cache<XrayFluoSD*> XrayFluoDetectorConstruction::HPGeSD
private

Definition at line 300 of file XrayFluoDetectorConstruction.hh.

◆ instance

XrayFluoDetectorConstruction * XrayFluoDetectorConstruction::instance = 0
staticprivate

Definition at line 154 of file XrayFluoDetectorConstruction.hh.

◆ logicDia1

G4LogicalVolume* XrayFluoDetectorConstruction::logicDia1
private

Definition at line 178 of file XrayFluoDetectorConstruction.hh.

◆ logicDia3

G4LogicalVolume* XrayFluoDetectorConstruction::logicDia3
private

Definition at line 182 of file XrayFluoDetectorConstruction.hh.

◆ logicGrain

G4LogicalVolume* XrayFluoDetectorConstruction::logicGrain
private

Definition at line 202 of file XrayFluoDetectorConstruction.hh.

◆ logicHPGe

G4LogicalVolume* XrayFluoDetectorConstruction::logicHPGe
private

Definition at line 170 of file XrayFluoDetectorConstruction.hh.

◆ logicOhmicNeg

G4LogicalVolume* XrayFluoDetectorConstruction::logicOhmicNeg
private

Definition at line 194 of file XrayFluoDetectorConstruction.hh.

◆ logicOhmicPos

G4LogicalVolume* XrayFluoDetectorConstruction::logicOhmicPos
private

Definition at line 186 of file XrayFluoDetectorConstruction.hh.

◆ logicPixel

G4LogicalVolume* XrayFluoDetectorConstruction::logicPixel
private

Definition at line 198 of file XrayFluoDetectorConstruction.hh.

◆ logicSample

G4LogicalVolume* XrayFluoDetectorConstruction::logicSample
private

Definition at line 174 of file XrayFluoDetectorConstruction.hh.

◆ logicWindow

G4LogicalVolume* XrayFluoDetectorConstruction::logicWindow
private

Definition at line 190 of file XrayFluoDetectorConstruction.hh.

◆ logicWorld

G4LogicalVolume* XrayFluoDetectorConstruction::logicWorld
private

Definition at line 166 of file XrayFluoDetectorConstruction.hh.

◆ materials

XrayFluoNistMaterials* XrayFluoDetectorConstruction::materials
private

Definition at line 207 of file XrayFluoDetectorConstruction.hh.

◆ NbOfPixelColumns

G4int XrayFluoDetectorConstruction::NbOfPixelColumns
private

Definition at line 231 of file XrayFluoDetectorConstruction.hh.

◆ NbOfPixelRows

G4int XrayFluoDetectorConstruction::NbOfPixelRows
private

Definition at line 230 of file XrayFluoDetectorConstruction.hh.

◆ NbOfPixels

G4int XrayFluoDetectorConstruction::NbOfPixels
private

Definition at line 229 of file XrayFluoDetectorConstruction.hh.

◆ OhmicNegMaterial

G4Material* XrayFluoDetectorConstruction::OhmicNegMaterial
private

Definition at line 210 of file XrayFluoDetectorConstruction.hh.

◆ OhmicNegThickness

G4double XrayFluoDetectorConstruction::OhmicNegThickness
private

Definition at line 223 of file XrayFluoDetectorConstruction.hh.

◆ OhmicPosMaterial

G4Material* XrayFluoDetectorConstruction::OhmicPosMaterial
private

Definition at line 209 of file XrayFluoDetectorConstruction.hh.

◆ OhmicPosThickness

G4double XrayFluoDetectorConstruction::OhmicPosThickness
private

Definition at line 221 of file XrayFluoDetectorConstruction.hh.

◆ phaseSpaceFlag

G4bool XrayFluoDetectorConstruction::phaseSpaceFlag
private

Definition at line 159 of file XrayFluoDetectorConstruction.hh.

◆ PhiDia1

G4double XrayFluoDetectorConstruction::PhiDia1
private

Definition at line 285 of file XrayFluoDetectorConstruction.hh.

◆ PhiDia3

G4double XrayFluoDetectorConstruction::PhiDia3
private

Definition at line 286 of file XrayFluoDetectorConstruction.hh.

◆ PhiHPGe

G4double XrayFluoDetectorConstruction::PhiHPGe
private

Definition at line 284 of file XrayFluoDetectorConstruction.hh.

◆ physiDia1

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiDia1
private

Definition at line 179 of file XrayFluoDetectorConstruction.hh.

◆ physiDia3

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiDia3
private

Definition at line 183 of file XrayFluoDetectorConstruction.hh.

◆ physiGrain

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiGrain
private

Definition at line 203 of file XrayFluoDetectorConstruction.hh.

◆ physiHPGe

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiHPGe
private

Definition at line 171 of file XrayFluoDetectorConstruction.hh.

◆ physiOhmicNeg

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiOhmicNeg
private

Definition at line 195 of file XrayFluoDetectorConstruction.hh.

◆ physiOhmicPos

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiOhmicPos
private

Definition at line 187 of file XrayFluoDetectorConstruction.hh.

◆ physiPixel

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiPixel
private

Definition at line 199 of file XrayFluoDetectorConstruction.hh.

◆ physiSample

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiSample
private

Definition at line 175 of file XrayFluoDetectorConstruction.hh.

◆ physiWindow

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiWindow
private

Definition at line 191 of file XrayFluoDetectorConstruction.hh.

◆ physiWorld

G4VPhysicalVolume* XrayFluoDetectorConstruction::physiWorld
private

Definition at line 167 of file XrayFluoDetectorConstruction.hh.

◆ PixelCopyNb

G4int XrayFluoDetectorConstruction::PixelCopyNb
private

Definition at line 227 of file XrayFluoDetectorConstruction.hh.

◆ pixelMaterial

G4Material* XrayFluoDetectorConstruction::pixelMaterial
private

Definition at line 211 of file XrayFluoDetectorConstruction.hh.

◆ PixelSizeXY

G4double XrayFluoDetectorConstruction::PixelSizeXY
private

Definition at line 236 of file XrayFluoDetectorConstruction.hh.

◆ PixelThickness

G4double XrayFluoDetectorConstruction::PixelThickness
private

Definition at line 232 of file XrayFluoDetectorConstruction.hh.

◆ sampleGranularity

G4bool XrayFluoDetectorConstruction::sampleGranularity
private

Definition at line 158 of file XrayFluoDetectorConstruction.hh.

◆ sampleMaterial

G4Material* XrayFluoDetectorConstruction::sampleMaterial
private

Definition at line 212 of file XrayFluoDetectorConstruction.hh.

◆ sampleRegion

G4Region* XrayFluoDetectorConstruction::sampleRegion
private

Definition at line 302 of file XrayFluoDetectorConstruction.hh.

◆ SampleSizeXY

G4double XrayFluoDetectorConstruction::SampleSizeXY
private

Definition at line 252 of file XrayFluoDetectorConstruction.hh.

◆ SampleThickness

G4double XrayFluoDetectorConstruction::SampleThickness
private

Definition at line 247 of file XrayFluoDetectorConstruction.hh.

◆ solidDia1

G4Tubs* XrayFluoDetectorConstruction::solidDia1
private

Definition at line 177 of file XrayFluoDetectorConstruction.hh.

◆ solidDia3

G4Tubs* XrayFluoDetectorConstruction::solidDia3
private

Definition at line 181 of file XrayFluoDetectorConstruction.hh.

◆ solidGrain

G4Sphere* XrayFluoDetectorConstruction::solidGrain
private

Definition at line 201 of file XrayFluoDetectorConstruction.hh.

◆ solidHPGe

G4Box* XrayFluoDetectorConstruction::solidHPGe
private

Definition at line 169 of file XrayFluoDetectorConstruction.hh.

◆ solidOhmicNeg

G4Box* XrayFluoDetectorConstruction::solidOhmicNeg
private

Definition at line 193 of file XrayFluoDetectorConstruction.hh.

◆ solidOhmicPos

G4Box* XrayFluoDetectorConstruction::solidOhmicPos
private

Definition at line 185 of file XrayFluoDetectorConstruction.hh.

◆ solidPixel

G4Box* XrayFluoDetectorConstruction::solidPixel
private

Definition at line 197 of file XrayFluoDetectorConstruction.hh.

◆ solidSample

G4Box* XrayFluoDetectorConstruction::solidSample
private

Definition at line 173 of file XrayFluoDetectorConstruction.hh.

◆ solidWindow

G4Box* XrayFluoDetectorConstruction::solidWindow
private

Definition at line 189 of file XrayFluoDetectorConstruction.hh.

◆ solidWorld

G4Box* XrayFluoDetectorConstruction::solidWorld
private

Definition at line 165 of file XrayFluoDetectorConstruction.hh.

◆ ThetaDia1

G4double XrayFluoDetectorConstruction::ThetaDia1
private

Definition at line 278 of file XrayFluoDetectorConstruction.hh.

◆ ThetaDia3

G4double XrayFluoDetectorConstruction::ThetaDia3
private

Definition at line 279 of file XrayFluoDetectorConstruction.hh.

◆ ThetaHPGe

G4double XrayFluoDetectorConstruction::ThetaHPGe
private

Definition at line 271 of file XrayFluoDetectorConstruction.hh.

◆ windowMaterial

G4Material* XrayFluoDetectorConstruction::windowMaterial
private

Definition at line 216 of file XrayFluoDetectorConstruction.hh.

◆ windowThickness

G4double XrayFluoDetectorConstruction::windowThickness
private

Definition at line 225 of file XrayFluoDetectorConstruction.hh.

◆ WorldSizeXY

G4double XrayFluoDetectorConstruction::WorldSizeXY
private

Definition at line 294 of file XrayFluoDetectorConstruction.hh.

◆ WorldSizeZ

G4double XrayFluoDetectorConstruction::WorldSizeZ
private

Definition at line 295 of file XrayFluoDetectorConstruction.hh.

◆ zRotPhiDia1

G4RotationMatrix XrayFluoDetectorConstruction::zRotPhiDia1
private

Definition at line 292 of file XrayFluoDetectorConstruction.hh.

◆ zRotPhiDia3

G4RotationMatrix XrayFluoDetectorConstruction::zRotPhiDia3
private

Definition at line 293 of file XrayFluoDetectorConstruction.hh.

◆ zRotPhiHPGe

G4RotationMatrix XrayFluoDetectorConstruction::zRotPhiHPGe
private

Definition at line 291 of file XrayFluoDetectorConstruction.hh.


The documentation for this class was generated from the following files: