67 : detectorType(0),mercuryGranularity(false), DeviceSizeX(0),
68 DeviceSizeY(0),DeviceThickness(0),
69 solidWorld(0),logicWorld(0),physiWorld(0),
70 solidHPGe(0),logicHPGe(0),physiHPGe(0),
71 solidScreen(0),logicScreen(0),physiScreen(0),
72 solidMercury (0),logicMercury(0),physiMercury (0),
73 solidOhmicPos(0),logicOhmicPos(0), physiOhmicPos(0),
74 solidOhmicNeg(0),logicOhmicNeg(0), physiOhmicNeg(0),
75 solidPixel(0),logicPixel(0), physiPixel(0),
76 screenMaterial(0),OhmicPosMaterial(0), OhmicNegMaterial(0),
77 pixelMaterial(0),mercuryMaterial(0),
78 defaultMaterial(0),HPGeSD(0)
122 G4String defaultDetectorType =
"sili";
129 G4cout <<
"XrayFluoMercuryDetectorConstruction created" <<
G4endl;
153 else if (type==
"hpge")
160 execp << type +
"detector type unknown";
161 G4Exception(
"XrayFluoMercuryDetectorConstruction::SetDetectorType()",
"example-xray_fluorescence05",
180 G4cout <<
"XrayFluoMercuryDetectorConstruction deleted" <<
G4endl;
496 G4cout <<
"-----------------------------------------------------------------------"
498 <<
"The mercury is a sphere whose diamter is: "
507 <<
"-------------------------------------------------------------------------"
532 G4cout <<
"New Mercury Material: " << newMaterial <<
G4endl;
G4Cache< XrayFluoSD * > HPGeSD
static G4RunManager * GetRunManager()
G4VPhysicalVolume * physiMercury
G4Material * OhmicPosMaterial
G4VPhysicalVolume * ConstructApparate()
CLHEP::Hep3Vector G4ThreeVector
std::ostringstream G4ExceptionDescription
XrayFluoMercuryDetectorMessenger * detectorMessenger
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
static constexpr double mm
void AddNewDetector(G4VSensitiveDetector *aSD)
G4VPhysicalVolume * physiOhmicPos
static XrayFluoSiLiDetectorType * GetInstance()
G4Material * screenMaterial
G4LogicalVolume * logicOhmicNeg
G4VPhysicalVolume * Construct()
G4Material * OhmicNegMaterial
G4Material * pixelMaterial
G4double OhmicPosThickness
G4VPhysicalVolume * physiWorld
G4VPhysicalVolume * physiHPGe
G4Material * GetMaterial() const
static const G4VisAttributes & GetInvisible()
static XrayFluoHPGeDetectorType * GetInstance()
const G4String & GetName() const
G4bool mercuryGranularity
void SetDetectorType(G4String type)
static constexpr double m
G4double OhmicNegThickness
XrayFluoMercuryDetectorConstruction()
static XrayFluoMercuryDetectorConstruction * GetInstance()
static constexpr double deg
G4VPhysicalVolume * physiPixel
G4VPhysicalVolume * physiOptic
G4LogicalVolume * logicScreen
static G4GeometryManager * GetInstance()
XrayFluoVDetectorType * detectorType
static constexpr double twopi
G4double mercurySunDistance
G4RotationMatrix zRotPhiHPGe
void OpenGeometry(G4VPhysicalVolume *vol=0)
void SetVisAttributes(const G4VisAttributes *pVA)
void ConstructSDandField()
void Put(const value_type &val) const
G4LogicalVolume * logicWorld
XrayFluoNistMaterials * materials
void SetForceSolid(G4bool=true)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
void SetVisibility(G4bool=true)
G4LogicalVolume * logicMercury
static G4SDManager * GetSDMpointer()
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
G4VPhysicalVolume * physiScreen
G4LogicalVolume * logicHPGe
G4LogicalVolume * logicGrain
XrayFluoVDetectorType * GetDetectorType() const
void PrintApparateParameters()
G4Material * defaultMaterial
static constexpr double cm
G4GLOB_DLL std::ostream G4cout
void SetMaterial(G4Material *pMaterial)
G4Material * mercuryMaterial
static XrayFluoMercuryDetectorConstruction * instance
G4LogicalVolume * logicOptic
static constexpr double pi
G4LogicalVolume * logicPixel
HepRotation & rotateX(double delta)
G4Material * GetMaterial(G4String)
void ComputeApparateParameters()
static constexpr double km
static XrayFluoNistMaterials * GetInstance()
G4VPhysicalVolume * physiOhmicNeg
G4LogicalVolume * logicOhmicPos
~XrayFluoMercuryDetectorConstruction()
void DefineDefaultMaterials()
void SetMercuryMaterial(G4String newMaterial)