74 : aNavigator(0), detectorType(0),sampleGranularity(false), phaseSpaceFlag(false),
75 DeviceSizeX(0), DeviceSizeY(0),DeviceThickness(0),
76 solidWorld(0),logicWorld(0),physiWorld(0),
77 solidHPGe(0),logicHPGe(0),physiHPGe(0),
78 solidSample (0),logicSample(0),physiSample (0),
79 solidDia1(0),logicDia1(0),physiDia1(0),
80 solidDia3(0),logicDia3(0),physiDia3(0),
81 solidOhmicPos(0),logicOhmicPos(0), physiOhmicPos(0),
82 solidWindow(0), logicWindow(0), physiWindow(0),
83 solidOhmicNeg(0),logicOhmicNeg(0), physiOhmicNeg(0),
84 solidPixel(0),logicPixel(0), physiPixel(0),
85 OhmicPosMaterial(0), OhmicNegMaterial(0),
86 pixelMaterial(0),sampleMaterial(0),
87 Dia1Material(0),Dia3Material(0),
88 defaultMaterial(0), windowMaterial (0)
142 G4String defaultDetectorType =
"sili";
154 G4cout <<
"XrayFluoDetectorConstruction created" <<
G4endl;
179 else if (type==
"hpge")
190 execp << type +
"detector type unknown";
191 G4Exception(
"XrayFluoDataSet::LoadData()",
"example-xray_fluorescence06",
210 G4cout <<
"XrayFluoDetectorConstruction deleted" <<
G4endl;
256 G4cout <<
"Not available in this configuration" <<
G4endl;
477 G4double b = 2. * (std::sqrt(3.) - std::sqrt(2.))/std::sqrt(3.);
497 for (
G4int k=0; k < nbOfGrainsZ ; k++ ) {
498 for (
G4int j=0; j < nbOfGrainsY ; j++ ) {
499 for (
G4int i=0; i < nbOfGrainsX ; i++ ) {
511 else if ( ((j+1) % 2) == 0 ) {
516 else if ( ((k+2) % 3) == 0 ) {
524 else if ( (j+1)%2 == 0 ) {
530 else if ( (k+1)%3 == 0 ) {
538 else if ( (j+1)%2 == 0 ) {
546 grainInitPositionY + j*grainStepY,
547 grainInitPositionZ + k*grainStepZ),
725 G4cout <<
"-----------------------------------------------------------------------"
727 <<
"The sample is a box whose size is: "
744 G4cout <<
"-------------------------------------------------------------------------"
797 G4cout <<
"Material Change in Progress " << newMaterial <<
G4endl;
G4LogicalVolume * logicOhmicNeg
G4VPhysicalVolume * physiWindow
static constexpr double mm
G4Material * GetMaterial() const
XrayFluoDetectorMessenger * detectorMessenger
G4VPhysicalVolume * physiDia1
G4double OhmicPosThickness
std::ostringstream G4ExceptionDescription
CLHEP::Hep3Vector G4ThreeVector
G4Material * OhmicNegMaterial
XrayFluoDetectorConstruction()
std::vector< ExP01TrackerHit * > a
G4VPhysicalVolume * physiOhmicPos
G4ThreeVector GetDetectorPosition() const
void DefineDefaultMaterials()
G4Material * Dia3Material
const G4String & GetName() const
G4Material * defaultMaterial
G4double OhmicNegThickness
G4VPhysicalVolume * physiHPGe
static XrayFluoDetectorConstruction * GetInstance()
G4Material * OhmicPosMaterial
void SetForceSolid(G4bool=true)
static XrayFluoNistMaterials * GetInstance()
static constexpr double twopi
void SetOhmicPosThickness(G4double)
G4LogicalVolume * logicPixel
XrayFluoVDetectorType * GetDetectorType() const
G4RotationMatrix zRotPhiHPGe
void ComputeApparateParameters()
static XrayFluoSiLiDetectorType * GetInstance()
G4Cache< XrayFluoSD * > HPGeSD
G4VPhysicalVolume * physiSample
void SetDetectorType(G4String type)
void SetSampleMaterial(G4String newMaterial)
G4Material * pixelMaterial
G4VPhysicalVolume * physiOhmicNeg
G4LogicalVolume * logicDia3
G4GLOB_DLL std::ostream G4cout
static constexpr double m
XrayFluoVDetectorType * detectorType
G4LogicalVolume * logicDia1
void SetVisibility(G4bool=true)
G4LogicalVolume * logicSample
XrayFluoNistMaterials * materials
static constexpr double cm
G4VPhysicalVolume * physiGrain
void ConstructSDandField()
G4RotationMatrix zRotPhiDia1
G4LogicalVolume * logicOhmicPos
G4VPhysicalVolume * Construct()
G4VPhysicalVolume * physiPixel
static G4GeometryManager * GetInstance()
G4Material * GetMaterial(G4String)
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
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 XrayFluoHPGeDetectorType * GetInstance()
static XrayFluoDetectorConstruction * instance
G4RotationMatrix zRotPhiDia3
void OpenGeometry(G4VPhysicalVolume *vol=0)
static constexpr double pi
G4Material * windowMaterial
G4VPhysicalVolume * physiWorld
G4Material * sampleMaterial
static constexpr double deg
G4LogicalVolume * logicGrain
void SetMaterial(G4Material *pMaterial)
G4VPhysicalVolume * physiDia3
void RemoveRootLogicalVolume(G4LogicalVolume *lv, G4bool scan=true)
void Put(const value_type &val) const
static const G4VisAttributes & GetInvisible()
G4VPhysicalVolume * ConstructApparate()
void SetVisAttributes(const G4VisAttributes *pVA)
void PrintApparateParameters()
G4LogicalVolume * logicWorld