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;
static G4RunManager * GetRunManager()
G4VPhysicalVolume * physiWorld
CLHEP::Hep3Vector G4ThreeVector
void DefineDefaultMaterials()
std::ostringstream G4ExceptionDescription
std::vector< ExP01TrackerHit * > a
XrayFluoDetectorMessenger * detectorMessenger
G4VPhysicalVolume * physiSample
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
XrayFluoVDetectorType * detectorType
XrayFluoVDetectorType * GetDetectorType() const
static constexpr double mm
G4Cache< XrayFluoSD * > HPGeSD
void AddNewDetector(G4VSensitiveDetector *aSD)
G4VPhysicalVolume * physiDia3
static XrayFluoSiLiDetectorType * GetInstance()
G4LogicalVolume * logicWorld
G4LogicalVolume * logicDia1
G4VPhysicalVolume * physiOhmicPos
void SetOhmicPosThickness(G4double)
G4LogicalVolume * logicPixel
XrayFluoDetectorConstruction()
G4RotationMatrix zRotPhiHPGe
void RemoveRootLogicalVolume(G4LogicalVolume *lv, G4bool scan=true)
G4Material * sampleMaterial
G4LogicalVolume * logicSample
void PrintApparateParameters()
G4VPhysicalVolume * physiOhmicNeg
G4Material * GetMaterial() const
G4Material * defaultMaterial
static const G4VisAttributes & GetInvisible()
G4VPhysicalVolume * Construct()
G4VPhysicalVolume * physiPixel
static XrayFluoHPGeDetectorType * GetInstance()
G4VPhysicalVolume * physiWindow
const G4String & GetName() const
static constexpr double m
void SetDetectorType(G4String type)
G4Material * Dia1Material
static XrayFluoDetectorConstruction * instance
static constexpr double deg
G4VPhysicalVolume * physiDia1
G4Material * pixelMaterial
static G4GeometryManager * GetInstance()
void SetWorldVolume(G4VPhysicalVolume *pWorld)
static constexpr double twopi
void SetSampleMaterial(G4String newMaterial)
G4VPhysicalVolume * ConstructApparate()
G4LogicalVolume * logicDia3
void OpenGeometry(G4VPhysicalVolume *vol=0)
void SetVisAttributes(const G4VisAttributes *pVA)
void Put(const value_type &val) const
G4Material * OhmicNegMaterial
G4LogicalVolume * logicHPGe
void SetForceSolid(G4bool=true)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
void SetVisibility(G4bool=true)
static G4SDManager * GetSDMpointer()
G4LogicalVolume * logicWindow
G4ThreeVector GetDetectorPosition() const
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
G4Material * OhmicPosMaterial
G4RotationMatrix zRotPhiDia3
XrayFluoNistMaterials * materials
G4LogicalVolume * logicOhmicNeg
static constexpr double cm
G4GLOB_DLL std::ostream G4cout
void ComputeApparateParameters()
G4RotationMatrix zRotPhiDia1
void SetMaterial(G4Material *pMaterial)
G4LogicalVolume * logicGrain
G4VPhysicalVolume * physiGrain
void DeleteGrainObjects()
static constexpr double pi
G4Material * windowMaterial
G4VPhysicalVolume * physiHPGe
static XrayFluoDetectorConstruction * GetInstance()
HepRotation & rotateX(double delta)
G4double OhmicPosThickness
G4Material * GetMaterial(G4String)
static XrayFluoNistMaterials * GetInstance()
G4double OhmicNegThickness
G4LogicalVolume * logicOhmicPos
~XrayFluoDetectorConstruction()
G4Material * Dia3Material
void ConstructSDandField()