Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions
XrayFluoMercuryDetectorConstruction Class Reference

#include <XrayFluoMercuryDetectorConstruction.hh>

Inheritance diagram for XrayFluoMercuryDetectorConstruction:
G4VUserDetectorConstruction

Public Member Functions

 ~XrayFluoMercuryDetectorConstruction ()
 
G4VPhysicalVolumeConstruct ()
 
void UpdateGeometry ()
 
void SetMercuryMaterial (G4String newMaterial)
 
void SetDetectorType (G4String type)
 
void SetOribitHeight (G4double size)
 
void SetLatitude (G4double lat)
 
void PrintApparateParameters ()
 
XrayFluoVDetectorTypeGetDetectorType ()
 
G4double GetWorldSizeZ ()
 
G4double GetWorldSizeXY ()
 
G4double GetDeviceThickness ()
 
G4double GetDeviceSizeX ()
 
G4double GetDeviceSizeY ()
 
G4double GetPixelSizeXY ()
 
G4double GetContactSizeXY ()
 
G4int GetNbOfPixels ()
 
G4int GetNbOfPixelRows ()
 
G4int GetNbOfPixelColumns ()
 
G4MaterialGetOhmicPosMaterial ()
 
G4double GetOhmicPosThickness ()
 
G4MaterialGetOhmicNegMaterial ()
 
G4double GetOhmicNegThickness ()
 
const G4VPhysicalVolumeGetphysiWorld ()
 
const G4VPhysicalVolumeGetHPGe ()
 
const G4VPhysicalVolumeGetMercury ()
 
const G4VPhysicalVolumeGetphysiPixel ()
 
const G4VPhysicalVolumeGetOhmicPos ()
 
const G4VPhysicalVolumeGetOhmicNeg ()
 
const G4VPhysicalVolumeGetOptic ()
 
G4MaterialGetMercuryMaterial ()
 
G4MaterialGetPixelMaterial ()
 
G4double GetMercuryDia ()
 
G4double GetSunDia ()
 
G4double GetOrbitInclination ()
 
G4double GetOrbitDistance ()
 
G4double GetOpticAperture ()
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void ConstructSDandField ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Static Public Member Functions

static
XrayFluoMercuryDetectorConstruction
GetInstance ()
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Definition at line 65 of file XrayFluoMercuryDetectorConstruction.hh.

Constructor & Destructor Documentation

XrayFluoMercuryDetectorConstruction::~XrayFluoMercuryDetectorConstruction ( )

Definition at line 169 of file XrayFluoMercuryDetectorConstruction.cc.

References G4cout, and G4endl.

171 {
172  delete detectorMessenger;
173  delete detectorType;
174  G4cout << "XrayFluoMercuryDetectorConstruction deleted" << G4endl;
175 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Member Function Documentation

G4VPhysicalVolume * XrayFluoMercuryDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 179 of file XrayFluoMercuryDetectorConstruction.cc.

180 {
181  return ConstructApparate();
182 }
G4double XrayFluoMercuryDetectorConstruction::GetContactSizeXY ( )
inline

Definition at line 102 of file XrayFluoMercuryDetectorConstruction.hh.

102 {return ContactSizeXY;};
XrayFluoVDetectorType * XrayFluoMercuryDetectorConstruction::GetDetectorType ( )

Definition at line 162 of file XrayFluoMercuryDetectorConstruction.cc.

Referenced by XrayFluoEventAction::XrayFluoEventAction().

163 {
164  return detectorType;
165 }
G4double XrayFluoMercuryDetectorConstruction::GetDeviceSizeX ( )
inline

Definition at line 99 of file XrayFluoMercuryDetectorConstruction.hh.

99 {return DeviceSizeX;};
G4double XrayFluoMercuryDetectorConstruction::GetDeviceSizeY ( )
inline

Definition at line 100 of file XrayFluoMercuryDetectorConstruction.hh.

100 {return DeviceSizeY;};
G4double XrayFluoMercuryDetectorConstruction::GetDeviceThickness ( )
inline

Definition at line 98 of file XrayFluoMercuryDetectorConstruction.hh.

98 {return DeviceThickness;};
const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetHPGe ( )
inline

Definition at line 115 of file XrayFluoMercuryDetectorConstruction.hh.

115 {return physiHPGe;};
XrayFluoMercuryDetectorConstruction * XrayFluoMercuryDetectorConstruction::GetInstance ( void  )
static

Definition at line 132 of file XrayFluoMercuryDetectorConstruction.cc.

Referenced by XrayFluoSimulation::RunSimulation(), and XrayFluoSteppingAction::UserSteppingAction().

133 {
134  if (instance == 0)
135  {
137 
138  }
139  return instance;
140 }
const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetMercury ( )
inline

Definition at line 116 of file XrayFluoMercuryDetectorConstruction.hh.

116 {return physiMercury;};
G4double XrayFluoMercuryDetectorConstruction::GetMercuryDia ( )
inline

Definition at line 244 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoMercuryPrimaryGeneratorAction::GeneratePrimaries().

244 {return mercuryDia;};
G4Material* XrayFluoMercuryDetectorConstruction::GetMercuryMaterial ( )
inline

Definition at line 241 of file XrayFluoMercuryDetectorConstruction.hh.

241 {return mercuryMaterial;};
G4int XrayFluoMercuryDetectorConstruction::GetNbOfPixelColumns ( )
inline

Definition at line 106 of file XrayFluoMercuryDetectorConstruction.hh.

106 {return NbOfPixelColumns;};
G4int XrayFluoMercuryDetectorConstruction::GetNbOfPixelRows ( )
inline

Definition at line 105 of file XrayFluoMercuryDetectorConstruction.hh.

105 {return NbOfPixelRows;};
G4int XrayFluoMercuryDetectorConstruction::GetNbOfPixels ( )
inline

Definition at line 104 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoSD::Initialize(), and XrayFluoSD::ProcessHits().

104 {return NbOfPixels;}; //mandatory for XrayFluoSD
const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetOhmicNeg ( )
inline

Definition at line 120 of file XrayFluoMercuryDetectorConstruction.hh.

120 {return physiOhmicNeg;};
G4Material* XrayFluoMercuryDetectorConstruction::GetOhmicNegMaterial ( )
inline

Definition at line 111 of file XrayFluoMercuryDetectorConstruction.hh.

111 {return OhmicNegMaterial;};
G4double XrayFluoMercuryDetectorConstruction::GetOhmicNegThickness ( )
inline

Definition at line 112 of file XrayFluoMercuryDetectorConstruction.hh.

112 {return OhmicNegThickness;};
const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetOhmicPos ( )
inline

Definition at line 119 of file XrayFluoMercuryDetectorConstruction.hh.

119 {return physiOhmicPos;};
G4Material* XrayFluoMercuryDetectorConstruction::GetOhmicPosMaterial ( )
inline

Definition at line 108 of file XrayFluoMercuryDetectorConstruction.hh.

108 {return OhmicPosMaterial;};
G4double XrayFluoMercuryDetectorConstruction::GetOhmicPosThickness ( )
inline

Definition at line 109 of file XrayFluoMercuryDetectorConstruction.hh.

109 {return OhmicPosThickness;};
const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetOptic ( )
inline

Definition at line 122 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoSteppingAction::UserSteppingAction().

122 {return physiOptic;};
G4double XrayFluoMercuryDetectorConstruction::GetOpticAperture ( )
inline

Definition at line 251 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoMercuryPrimaryGeneratorAction::GeneratePrimaries().

251 {return opticAperture;};
G4double XrayFluoMercuryDetectorConstruction::GetOrbitDistance ( )
inline

Definition at line 250 of file XrayFluoMercuryDetectorConstruction.hh.

250 {return distDe;};
G4double XrayFluoMercuryDetectorConstruction::GetOrbitInclination ( )
inline

Definition at line 249 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoMercuryPrimaryGeneratorAction::GeneratePrimaries().

249 {return 180 * CLHEP::deg - ThetaHPGe;};
const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetphysiPixel ( )
inline

Definition at line 118 of file XrayFluoMercuryDetectorConstruction.hh.

118 {return physiPixel;};
const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetphysiWorld ( )
inline

Definition at line 114 of file XrayFluoMercuryDetectorConstruction.hh.

114 {return physiWorld;};
G4Material* XrayFluoMercuryDetectorConstruction::GetPixelMaterial ( )
inline

Definition at line 242 of file XrayFluoMercuryDetectorConstruction.hh.

242 {return pixelMaterial;};
G4double XrayFluoMercuryDetectorConstruction::GetPixelSizeXY ( )
inline

Definition at line 101 of file XrayFluoMercuryDetectorConstruction.hh.

101 {return PixelSizeXY;};
G4double XrayFluoMercuryDetectorConstruction::GetSunDia ( )
inline

Definition at line 245 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoMercuryPrimaryGeneratorAction::GeneratePrimaries().

245 {return sunDia;};
G4double XrayFluoMercuryDetectorConstruction::GetWorldSizeXY ( )
inline

Definition at line 96 of file XrayFluoMercuryDetectorConstruction.hh.

96 {return WorldSizeXY;};
G4double XrayFluoMercuryDetectorConstruction::GetWorldSizeZ ( )
inline
void XrayFluoMercuryDetectorConstruction::PrintApparateParameters ( )

Definition at line 485 of file XrayFluoMercuryDetectorConstruction.cc.

References G4cout, G4endl, G4LogicalVolume::GetMaterial(), G4Material::GetName(), python.hepunit::km, and python.hepunit::m.

Referenced by SetMercuryMaterial().

486 {
487  G4cout << "-----------------------------------------------------------------------"
488  << G4endl
489  << "The mercury is a sphere whose diamter is: "
490  << G4endl
491  << mercuryDia/km
492  << " Km "
493  << G4endl
494  <<" Material: " << logicMercury->GetMaterial()->GetName()
495  <<G4endl
496  <<"The Detector is a slice " << DeviceThickness/(1.e-6*m)
497  << " micron thick of " << pixelMaterial->GetName()<<G4endl
498  <<"-------------------------------------------------------------------------"
499  << G4endl;
500 }
G4Material * GetMaterial() const
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void XrayFluoMercuryDetectorConstruction::SetDetectorType ( G4String  type)

Definition at line 142 of file XrayFluoMercuryDetectorConstruction.cc.

References FatalException, G4Exception(), XrayFluoSiLiDetectorType::GetInstance(), and XrayFluoHPGeDetectorType::GetInstance().

Referenced by XrayFluoMercuryDetectorMessenger::SetNewValue().

143 {
144 
145  if (type=="sili")
146  {
147  detectorType = XrayFluoSiLiDetectorType::GetInstance();
148  }
149  else if (type=="hpge")
150  {
151  detectorType = XrayFluoHPGeDetectorType::GetInstance();
152  }
153  else
154  {
156  execp << type + "detector type unknown";
157  G4Exception("XrayFluoMercuryDetectorConstruction::SetDetectorType()","example-xray_fluorescence05",
158  FatalException, execp);
159  }
160 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
static XrayFluoSiLiDetectorType * GetInstance()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static XrayFluoHPGeDetectorType * GetInstance()
void XrayFluoMercuryDetectorConstruction::SetLatitude ( G4double  lat)
inline

Definition at line 87 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoMercuryDetectorMessenger::SetNewValue().

88  {ThetaHPGe = 180.* CLHEP::deg - lat;};
void XrayFluoMercuryDetectorConstruction::SetMercuryMaterial ( G4String  newMaterial)

Definition at line 537 of file XrayFluoMercuryDetectorConstruction.cc.

References G4cout, G4endl, XrayFluoNistMaterials::GetMaterial(), PrintApparateParameters(), and G4LogicalVolume::SetMaterial().

Referenced by XrayFluoMercuryDetectorMessenger::SetNewValue().

538 {
539 
540 
541  G4cout << "New Mercury Material: " << newMaterial << G4endl;
542  logicMercury->SetMaterial(materials->GetMaterial(newMaterial));
544 
545 }
G4GLOB_DLL std::ostream G4cout
G4Material * GetMaterial(G4String)
#define G4endl
Definition: G4ios.hh:61
void SetMaterial(G4Material *pMaterial)
void XrayFluoMercuryDetectorConstruction::SetOribitHeight ( G4double  size)
inline

Definition at line 85 of file XrayFluoMercuryDetectorConstruction.hh.

Referenced by XrayFluoMercuryDetectorMessenger::SetNewValue().

86  {distDe = size;};
void XrayFluoMercuryDetectorConstruction::UpdateGeometry ( )

Definition at line 503 of file XrayFluoMercuryDetectorConstruction.cc.

References G4RunManager::DefineWorldVolume(), G4RunManager::GetRunManager(), and CLHEP::HepRotation::rotateX().

Referenced by XrayFluoMercuryDetectorMessenger::SetNewValue().

504 {
505 
506 
507  delete solidHPGe;
508  delete logicHPGe;
509  delete physiHPGe;
510  delete solidPixel;
511  delete logicPixel;
512  delete physiPixel;
513  delete solidOhmicNeg;
514  delete logicOhmicNeg;
515  delete physiOhmicNeg;
516  delete solidOhmicPos;
517  delete logicOhmicPos;
518  delete physiOhmicPos;
519  delete solidOptic;
520  delete logicOptic;
521  delete physiOptic;
522  delete solidMercury;
523  delete logicMercury;
524  delete physiMercury;
525  delete solidScreen;
526  delete logicScreen;
527  delete physiScreen;
528  delete solidWorld;
529  delete logicWorld;
530  delete physiWorld;
531 
532  zRotPhiHPGe.rotateX(-1.*PhiHPGe);
533  ComputeApparateParameters();
534  G4RunManager::GetRunManager()->DefineWorldVolume(ConstructApparate());
535 }
HepRotation & rotateX(double delta)
Definition: Rotation.cc:66
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74

The documentation for this class was generated from the following files: