96   G4Box * solidWorld = 
new G4Box( 
"world_S", world_x, world_y, world_z );
 
  102   logicalWorld -> SetVisAttributes(VisAttWorld);
 
  117   ConstructTelescope();
 
  118   ConstructFocalPlane();
 
  120   return physicalWorld;
 
  127 void XrayTelDetectorConstruction::ConstructTelescope()
 
  145                              G4Colour(255/255., 255/255., 0/255.));
 
  147                               G4Colour(128/255., 128/255., 128/255.));
 
  151   rotateMatrix -> rotateY(90.*
deg);
 
  155   G4double MirrorEnd[5] = { 34.9995975*
cm, 34.8277209*
cm, 34.6549918*
cm,
 
  156                 34.1347834*
cm, 33.6137753*
cm };
 
  164   G4Cons* MirrorAuCoatingSolid[4];
 
  171   for ( i=0; i<4; i++ ) {
 
  174     MirrorSolid[i] = 
new G4Cons( 
"Mirror_S",
 
  175                  MirrorEnd[i], MirrorEnd[i] + MirrorNiThickness,
 
  176                  MirrorEnd[i+1], MirrorEnd[i+1] + MirrorNiThickness,
 
  177                  MirrorSectionLength/2, 0*
deg, 360.*
deg);
 
  179                          MirrorSolid[i], Ni, 
"Mirror_L", 0, 0, 0 );
 
  183     MirrorAuCoatingSolid[i] = 
new G4Cons( 
 
  185                      MirrorEnd[i] - MirrorAuCoating, MirrorEnd[i],
 
  186                      MirrorEnd[i+1] - MirrorAuCoating, MirrorEnd[i+1], 
 
  187                      MirrorSectionLength/2, 0*
deg, 360.*
deg);
 
  189                               MirrorAuCoatingSolid[i],
 
  196     BaffleSolid[i] = 
new G4Cons( 
"Baffle_S",
 
  197                  0, MirrorEnd[i] - BaffleGap,
 
  198                  0, MirrorEnd[i+1] - BaffleGap,
 
  199                  MirrorSectionLength/2, 0*
deg, 360.*
deg);
 
  201                          BaffleSolid[i], Al, 
"Baffle_L", 0, 0, 0 );
 
  202     BaffleLogicalVolume[i]-> SetVisAttributes(VisAttBaffle);
 
  207   for ( i=0; i<4; i++ ) {
 
  212                MirrorLogicalVolume[i],
 
  213                physicalWorld, 
false, 0 );
 
  218                MirrorAuCoatingLogicalVolume[i],
 
  219                physicalWorld, 
false, 0 );
 
  224               BaffleLogicalVolume[i],
 
  225               physicalWorld, 
false, 0 );
 
  230   for ( i=0; i<4; i++ ) {
 
  254                              G4Colour(0/255., 200/255., 0/255.));
 
  258   G4double BenchFrontEndMinRadiusOut = MirrorEnd[4] + 
 
  259     ( MirrorEnd[3] - MirrorEnd[4] )*7.5/15
 
  261   G4double BenchFrontEndMinRadiusIn  = MirrorEnd[4] + 
 
  262     ( MirrorEnd[3] - MirrorEnd[4] )*7.4/15
 
  264   G4double BenchFrontEndMaxRadius = MirrorEnd[4] + MirrorNiThickness + 25.*
cm;
 
  266   G4double BenchBackEndMaxRadius =  MirrorEnd[4] + MirrorNiThickness + 5.*
cm;
 
  269   BenchMainLength = MirrorPosition[3] - BenchThickness;
 
  271   G4Cons* BenchFrontEndSolid;
 
  272   G4Tubs* BenchBackEndSolid;
 
  279   BenchFrontEndSolid = 
new G4Cons( 
"BenchFrontEnd_S",
 
  280                    BenchFrontEndMinRadiusOut, BenchFrontEndMaxRadius,
 
  281                    BenchFrontEndMinRadiusIn, BenchFrontEndMaxRadius,
 
  282                    BenchThickness/2, 0*
deg, 360.*
deg );
 
  284                            BenchFrontEndSolid, Al, 
"BenchFrontEnd_L", 0, 0, 0 );
 
  287   BenchBackEndSolid  = 
new G4Tubs( 
"BenchBackEnd_S",
 
  288                    BenchBackEndMinRadius, BenchBackEndMaxRadius,
 
  289                    BenchThickness/2, 0*
deg, 360.*
deg );
 
  291                           BenchBackEndSolid, Al, 
"BenchBackEnd_L", 0, 0, 0 );
 
  294   BenchMainSolid     = 
new G4Cons( 
"BenchMain_S",
 
  295                    BenchFrontEndMaxRadius - BenchThickness,
 
  296                    BenchFrontEndMaxRadius,
 
  297                    BenchBackEndMaxRadius - BenchThickness,
 
  298                    BenchBackEndMaxRadius,
 
  299                    BenchMainLength/2, 0*
deg, 360.*
deg);
 
  301                            BenchMainSolid, Cf, 
"BenchMain_L", 0, 0, 0 );
 
  302   BenchMainLogicalVolume -> SetVisAttributes(VisAttBench);
 
  311             BenchFrontEndLogicalVolume,
 
  312             physicalWorld, 
false, 0 );
 
  318             BenchBackEndLogicalVolume,
 
  319             physicalWorld, 
false, 0 );
 
  325             BenchMainLogicalVolume,
 
  326             physicalWorld, 
false, 0 );
 
  341 void XrayTelDetectorConstruction::ConstructFocalPlane()
 
  350                                G4Colour(190/255., 255/255., 0/255.) );
 
  352                              G4Colour(255/255., 0/255., 0/255.) );
 
  356   rotateMatrix -> rotateY(90.*
deg);
 
  360   G4double DetectorBaffleOuterRadiusIn = 7.1*
cm;
 
  361   G4double DetectorBaffleOuterRadiusOut = 7.35*
cm;
 
  362   G4double DetectorBaffleInnerRadiusIn = 4.55*
cm;
 
  363   G4double DetectorBaffleInnerRadiusOut = 5.75*
cm;
 
  365   G4Cons* DetectorBaffleSolid;
 
  369   DetectorBaffleSolid = 
new G4Cons( 
"DetectorBaffle_S",              
 
  370                     DetectorBaffleOuterRadiusIn,
 
  371                     DetectorBaffleOuterRadiusOut,
 
  372                     DetectorBaffleInnerRadiusIn,
 
  373                     DetectorBaffleInnerRadiusOut,
 
  374                     DetectorBaffleLength/2, 0*
deg, 360.*
deg);  
 
  376                             DetectorBaffleSolid, Ti, 
"DetectorBaffle_L", 0, 0, 0 );
 
  377   DetectorBaffleLogicalVolume -> SetVisAttributes( VisDetectorBaffle );
 
  386             DetectorBaffleLogicalVolume,
 
  387             physicalWorld, 
false, 0 );
 
  402   DetectorSolid = 
new G4Tubs( 
"Detector_S",                        
 
  404                   DetectorThickness/2, 0*
deg, 360.*
deg);  
 
  406                           DetectorSolid, Si, 
"Detector_L", 0, 0, 0 );
 
  407   DetectorLogicalVolume -> SetVisAttributes( VisDetector );
 
  415             DetectorLogicalVolume,
 
  416             physicalWorld, 
false, 0 );
 
static constexpr double mm
 
CLHEP::Hep3Vector G4ThreeVector
 
CLHEP::HepRotation G4RotationMatrix
 
static constexpr double m
 
static constexpr double cm
 
static constexpr double kelvin
 
static constexpr double cm3
 
XrayTelDetectorConstruction()
 
G4VPhysicalVolume * Construct()
 
void AddElement(G4Element *element, G4int nAtoms)
 
static constexpr double deg
 
~XrayTelDetectorConstruction()
 
static constexpr double mole
 
static const G4VisAttributes & GetInvisible()
 
void SetVisAttributes(const G4VisAttributes *pVA)