41 #ifndef XrayFluoDetectorConstruction_hh
42 #define XrayFluoDetectorConstruction_hh 1
92 {sampleGranularity = granularity;};
95 {phaseSpaceFlag =
true;};
98 {phaseSpaceFlag =
false;};
101 {
return phaseSpaceFlag;};
184 G4Box* solidOhmicPos;
192 G4Box* solidOhmicNeg;
230 G4int NbOfPixelColumns;
312 void DefineDefaultMaterials();
316 void ComputeApparateParameters();
322 inline void XrayFluoDetectorConstruction::ComputeApparateParameters()
326 if (phaseSpaceFlag) {
328 WorldSizeZ = 10 *CLHEP::m;
329 WorldSizeXY = 10 *CLHEP::m;
334 DeviceThickness = PixelThickness+OhmicNegThickness+OhmicPosThickness+windowThickness;
336 G4cout <<
"DeviceThickness(cm): "<< DeviceThickness/CLHEP::cm <<
G4endl;
338 DeviceSizeY =(NbOfPixelRows *
std::max(ContactSizeXY,PixelSizeXY));
339 DeviceSizeX =(NbOfPixelColumns *
std::max(ContactSizeXY,PixelSizeXY));
341 G4cout <<
"DeviceSizeX(cm): "<< DeviceSizeX/CLHEP::cm <<
G4endl;
342 G4cout <<
"DeviceSizeY(cm): "<< DeviceSizeY/CLHEP::cm <<
G4endl;
344 WorldSizeZ = (2 * (DistDe +1.4142 *(
std::max(
std::max(DeviceThickness,DeviceSizeY), DeviceSizeX))))+5*CLHEP::m;
345 WorldSizeXY = 2 * (DistDe +1.4142 *Dia1SizeXY)+5*CLHEP::m;
const G4VPhysicalVolume * GetphysiPixel()
XrayFluoVDetectorType * GetDetectorType()
CLHEP::Hep3Vector G4ThreeVector
const G4VPhysicalVolume * GetHPGe()
G4int GetNbOfPixelColumns()
G4double GetDia1Thickness()
const G4VPhysicalVolume * GetDia1()
G4double GetDeviceThickness()
G4Material * GetSampleMaterial()
static XrayFluoDetectorConstruction * GetInstance()
void SetOhmicPosThickness(G4double)
G4double GetContactSizeXY()
void SetGrainDia(G4double size)
G4Material * GetPixelMaterial()
const G4VPhysicalVolume * GetOhmicPos()
void SetDetectorType(G4String type)
const G4VPhysicalVolume * GetSample()
void SetSampleMaterial(G4String newMaterial)
G4Material * GetDia3Material()
G4GLOB_DLL std::ostream G4cout
const G4VPhysicalVolume * GetphysiWorld()
G4double GetOhmicPosThickness()
G4double GetSampleSizeXY()
G4ThreeVector GetDetectorPosition()
const G4VPhysicalVolume * GetWindow()
G4Material * GetDia1Material()
G4VPhysicalVolume * Construct()
G4double GetSampleThickness()
G4double GetPixelSizeXY()
void DeleteGrainObjects()
const G4VPhysicalVolume * GetOhmicNeg()
G4ThreeVector GetSamplePosition()
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4bool GetPhaseSpaceFlag()
G4double GetDeviceSizeX()
G4Navigator * GetGeometryNavigator()
~XrayFluoDetectorConstruction()
G4double GetDia3Thickness()
G4double GetOhmicNegThickness()
const G4VPhysicalVolume * GetDia3()
void SetSampleGranularity(G4bool granularity)
G4Material * GetOhmicPosMaterial()
void PrintApparateParameters()
G4double GetWorldSizeXY()
G4Material * GetOhmicNegMaterial()
G4double GetDeviceSizeY()