70 : aNavigator(0), detectorType(0),sampleGranularity(false), phaseSpaceFlag(false),
71 DeviceSizeX(0), DeviceSizeY(0),DeviceThickness(0),
72 solidWorld(0),logicWorld(0),physiWorld(0),
73 solidHPGe(0),logicHPGe(0),physiHPGe(0),
74 solidSample (0),logicSample(0),physiSample (0),
75 solidDia1(0),logicDia1(0),physiDia1(0),
76 solidDia3(0),logicDia3(0),physiDia3(0),
77 solidOhmicPos(0),logicOhmicPos(0), physiOhmicPos(0),
78 solidWindow(0), logicWindow(0), physiWindow(0),
79 solidOhmicNeg(0),logicOhmicNeg(0), physiOhmicNeg(0),
80 solidPixel(0),logicPixel(0), physiPixel(0),
81 OhmicPosMaterial(0), OhmicNegMaterial(0),
82 pixelMaterial(0),sampleMaterial(0),
83 Dia1Material(0),Dia3Material(0),
84 defaultMaterial(0), windowMaterial (0), HPGeSD(0)
137 G4String defaultDetectorType =
"sili";
149 G4cout <<
"XrayFluoDetectorConstruction created" <<
G4endl;
173 else if (type==
"hpge")
184 execp << type +
"detector type unknown";
185 G4Exception(
"XrayFluoDataSet::LoadData()",
"example-xray_fluorescence06",
202 G4cout <<
"XrayFluoDetectorConstruction deleted" <<
G4endl;
247 G4cout <<
"Not available in this configuration" <<
G4endl;
468 G4double b = 2. * (std::sqrt(3.) - std::sqrt(2.))/std::sqrt(3.);
488 for (
G4int k=0; k < nbOfGrainsZ ; k++ ) {
489 for (
G4int j=0; j < nbOfGrainsY ; j++ ) {
490 for (
G4int i=0; i < nbOfGrainsX ; i++ ) {
502 else if ( ((j+1) % 2) == 0 ) {
507 else if ( ((k+2) % 3) == 0 ) {
515 else if ( (j+1)%2 == 0 ) {
521 else if ( (k+1)%3 == 0 ) {
529 else if ( (j+1)%2 == 0 ) {
537 grainInitPositionY + j*grainStepY,
538 grainInitPositionZ + k*grainStepZ),
716 G4cout <<
"-----------------------------------------------------------------------"
718 <<
"The sample is a box whose size is: "
735 G4cout <<
"-------------------------------------------------------------------------"
809 G4cout <<
"Material Change in Progress " << newMaterial <<
G4endl;
G4LogicalVolume * logicOhmicNeg
XrayFluoVDetectorType * GetDetectorType()
G4VPhysicalVolume * physiWindow
XrayFluoDetectorMessenger * detectorMessenger
G4VPhysicalVolume * physiDia1
G4double OhmicPosThickness
std::ostringstream G4ExceptionDescription
CLHEP::Hep3Vector G4ThreeVector
G4Material * OhmicNegMaterial
XrayFluoDetectorConstruction()
G4VPhysicalVolume * physiOhmicPos
G4Material * GetMaterial() const
void DefineDefaultMaterials()
G4Material * Dia3Material
const G4String & GetName() const
void SetVisibility(G4bool)
G4Material * defaultMaterial
G4double OhmicNegThickness
void SetForceSolid(G4bool)
G4VPhysicalVolume * physiHPGe
static XrayFluoDetectorConstruction * GetInstance()
G4Material * OhmicPosMaterial
static XrayFluoNistMaterials * GetInstance()
void SetOhmicPosThickness(G4double)
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
G4LogicalVolume * logicPixel
G4RotationMatrix zRotPhiHPGe
void ComputeApparateParameters()
static XrayFluoSiLiDetectorType * GetInstance()
G4VPhysicalVolume * physiSample
void SetDetectorType(G4String type)
void SetSampleMaterial(G4String newMaterial)
G4Material * pixelMaterial
G4VPhysicalVolume * physiOhmicNeg
G4LogicalVolume * logicDia3
G4GLOB_DLL std::ostream G4cout
XrayFluoVDetectorType * detectorType
G4LogicalVolume * logicDia1
G4LogicalVolume * logicSample
XrayFluoNistMaterials * materials
G4VPhysicalVolume * physiGrain
G4ThreeVector GetDetectorPosition()
G4RotationMatrix zRotPhiDia1
G4LogicalVolume * logicOhmicPos
G4VPhysicalVolume * Construct()
G4VPhysicalVolume * physiPixel
G4Material * GetMaterial(G4String)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void AddNewDetector(G4VSensitiveDetector *aSD)
G4LogicalVolume * logicWindow
static G4RunManager * GetRunManager()
G4LogicalVolume * logicHPGe
void DeleteGrainObjects()
G4Material * Dia1Material
static G4SDManager * GetSDMpointer()
~XrayFluoDetectorConstruction()
void SetWorldVolume(G4VPhysicalVolume *pWorld)
static const G4VisAttributes Invisible
static XrayFluoHPGeDetectorType * GetInstance()
static XrayFluoDetectorConstruction * instance
G4RotationMatrix zRotPhiDia3
G4Material * windowMaterial
G4VPhysicalVolume * physiWorld
G4Material * sampleMaterial
G4LogicalVolume * logicGrain
void SetMaterial(G4Material *pMaterial)
G4VPhysicalVolume * physiDia3
void RemoveRootLogicalVolume(G4LogicalVolume *lv, G4bool scan=true)
G4VPhysicalVolume * ConstructApparate()
void SetVisAttributes(const G4VisAttributes *pVA)
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)
void PrintApparateParameters()
G4LogicalVolume * logicWorld