Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
XrayFluoMercuryDetectorConstruction Class Reference

#include <XrayFluoMercuryDetectorConstruction.hh>

Inheritance diagram for XrayFluoMercuryDetectorConstruction:
Collaboration diagram for XrayFluoMercuryDetectorConstruction:

Public Member Functions

 ~XrayFluoMercuryDetectorConstruction ()
 
G4VPhysicalVolumeConstruct ()
 
void ConstructSDandField ()
 
void UpdateGeometry ()
 
void SetMercuryMaterial (G4String newMaterial)
 
void SetDetectorType (G4String type)
 
void SetOribitHeight (G4double size)
 
void SetLatitude (G4double lat)
 
void PrintApparateParameters ()
 
XrayFluoVDetectorTypeGetDetectorType () const
 
G4double GetWorldSizeZ () const
 
G4double GetWorldSizeXY () const
 
G4double GetDeviceThickness () const
 
G4double GetDeviceSizeX () const
 
G4double GetDeviceSizeY () const
 
G4double GetPixelSizeXY () const
 
G4double GetContactSizeXY () const
 
G4int GetNbOfPixels () const
 
G4int GetNbOfPixelRows () const
 
G4int GetNbOfPixelColumns () const
 
G4MaterialGetOhmicPosMaterial () const
 
G4double GetOhmicPosThickness () const
 
G4MaterialGetOhmicNegMaterial () const
 
G4double GetOhmicNegThickness () const
 
const G4VPhysicalVolumeGetphysiWorld () const
 
const G4VPhysicalVolumeGetHPGe () const
 
const G4VPhysicalVolumeGetMercury () const
 
const G4VPhysicalVolumeGetphysiPixel () const
 
const G4VPhysicalVolumeGetOhmicPos () const
 
const G4VPhysicalVolumeGetOhmicNeg () const
 
const G4VPhysicalVolumeGetOptic () const
 
G4MaterialGetMercuryMaterial () const
 
G4MaterialGetPixelMaterial () const
 
G4double GetMercuryDia () const
 
G4double GetSunDia () const
 
G4double GetOrbitInclination () const
 
G4double GetOrbitDistance () const
 
G4double GetOpticAperture () const
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
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 64 of file XrayFluoMercuryDetectorConstruction.hh.

Constructor & Destructor Documentation

XrayFluoMercuryDetectorConstruction::~XrayFluoMercuryDetectorConstruction ( )

Definition at line 175 of file XrayFluoMercuryDetectorConstruction.cc.

177 {
178  delete detectorMessenger;
179  delete detectorType;
180  G4cout << "XrayFluoMercuryDetectorConstruction deleted" << G4endl;
181 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Member Function Documentation

G4VPhysicalVolume * XrayFluoMercuryDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 185 of file XrayFluoMercuryDetectorConstruction.cc.

186 {
187  return ConstructApparate();
188 }
void XrayFluoMercuryDetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 477 of file XrayFluoMercuryDetectorConstruction.cc.

478 {
479  //
480  // Sensitive Detectors
481  //
482  if (HPGeSD.Get() == 0)
483  {
484  XrayFluoSD* SD = new XrayFluoSD ("HPGeSD",this);
485  HPGeSD.Put( SD );
486  }
488  if (logicPixel)
489  SetSensitiveDetector(logicPixel,HPGeSD.Get());
490 }
value_type & Get() const
Definition: G4Cache.hh:282
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void AddNewDetector(G4VSensitiveDetector *aSD)
Definition: G4SDManager.cc:71
static G4SDManager * GetSDMpointer()
Definition: G4SDManager.cc:40
void Put(const value_type &val) const
Definition: G4Cache.hh:286

Here is the call graph for this function:

G4double XrayFluoMercuryDetectorConstruction::GetContactSizeXY ( ) const
inline

Definition at line 103 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 168 of file XrayFluoMercuryDetectorConstruction.cc.

169 {
170  return detectorType;
171 }

Here is the caller graph for this function:

G4double XrayFluoMercuryDetectorConstruction::GetDeviceSizeX ( ) const
inline

Definition at line 100 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 101 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 99 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 116 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 136 of file XrayFluoMercuryDetectorConstruction.cc.

137 {
138  if (instance == 0)
139  {
141 
142  }
143  return instance;
144 }

Here is the caller graph for this function:

const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetMercury ( ) const
inline

Definition at line 117 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 243 of file XrayFluoMercuryDetectorConstruction.hh.

243 {return mercuryDia;};

Here is the caller graph for this function:

G4Material* XrayFluoMercuryDetectorConstruction::GetMercuryMaterial ( ) const
inline

Definition at line 240 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 107 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 106 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 105 of file XrayFluoMercuryDetectorConstruction.hh.

105 {return NbOfPixels;}; //mandatory for XrayFluoSD

Here is the caller graph for this function:

const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetOhmicNeg ( ) const
inline

Definition at line 121 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 112 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 113 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 120 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 109 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 110 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 123 of file XrayFluoMercuryDetectorConstruction.hh.

123 {return physiOptic;};

Here is the caller graph for this function:

G4double XrayFluoMercuryDetectorConstruction::GetOpticAperture ( ) const
inline

Definition at line 250 of file XrayFluoMercuryDetectorConstruction.hh.

250 {return opticAperture;};

Here is the caller graph for this function:

G4double XrayFluoMercuryDetectorConstruction::GetOrbitDistance ( ) const
inline

Definition at line 249 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 248 of file XrayFluoMercuryDetectorConstruction.hh.

248 {return 180 * CLHEP::deg - ThetaHPGe;};
static constexpr double deg

Here is the caller graph for this function:

const G4VPhysicalVolume* XrayFluoMercuryDetectorConstruction::GetphysiPixel ( ) const
inline

Definition at line 119 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 115 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 241 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 102 of file XrayFluoMercuryDetectorConstruction.hh.

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

Definition at line 244 of file XrayFluoMercuryDetectorConstruction.hh.

244 {return sunDia;};

Here is the caller graph for this function:

G4double XrayFluoMercuryDetectorConstruction::GetWorldSizeXY ( ) const
inline

Definition at line 97 of file XrayFluoMercuryDetectorConstruction.hh.

97 {return WorldSizeXY;};
G4double XrayFluoMercuryDetectorConstruction::GetWorldSizeZ ( ) const
inline

Definition at line 96 of file XrayFluoMercuryDetectorConstruction.hh.

96 {return WorldSizeZ;};

Here is the caller graph for this function:

void XrayFluoMercuryDetectorConstruction::PrintApparateParameters ( )

Definition at line 494 of file XrayFluoMercuryDetectorConstruction.cc.

495 {
496  G4cout << "-----------------------------------------------------------------------"
497  << G4endl
498  << "The mercury is a sphere whose diamter is: "
499  << G4endl
500  << mercuryDia/km
501  << " Km "
502  << G4endl
503  <<" Material: " << logicMercury->GetMaterial()->GetName()
504  <<G4endl
505  <<"The Detector is a slice " << DeviceThickness/(1.e-6*m)
506  << " micron thick of " << pixelMaterial->GetName()<<G4endl
507  <<"-------------------------------------------------------------------------"
508  << G4endl;
509 }
static constexpr double km
Definition: G4SIunits.hh:133
G4Material * GetMaterial() const
const G4String & GetName() const
Definition: G4Material.hh:178
G4GLOB_DLL std::ostream G4cout
static constexpr double m
Definition: G4SIunits.hh:129
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

Here is the caller graph for this function:

void XrayFluoMercuryDetectorConstruction::SetDetectorType ( G4String  type)

Definition at line 146 of file XrayFluoMercuryDetectorConstruction.cc.

147 {
148 
149  if (type=="sili")
150  {
151  detectorType = XrayFluoSiLiDetectorType::GetInstance();
152  }
153  else if (type=="hpge")
154  {
155  detectorType = XrayFluoHPGeDetectorType::GetInstance();
156  }
157  else
158  {
160  execp << type + "detector type unknown";
161  G4Exception("XrayFluoMercuryDetectorConstruction::SetDetectorType()","example-xray_fluorescence05",
162  FatalException, execp);
163  }
164 }
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()

Here is the call graph for this function:

Here is the caller graph for this function:

void XrayFluoMercuryDetectorConstruction::SetLatitude ( G4double  lat)
inline

Definition at line 88 of file XrayFluoMercuryDetectorConstruction.hh.

89  {ThetaHPGe = 180.* CLHEP::deg - lat;};
static constexpr double deg

Here is the caller graph for this function:

void XrayFluoMercuryDetectorConstruction::SetMercuryMaterial ( G4String  newMaterial)

Definition at line 530 of file XrayFluoMercuryDetectorConstruction.cc.

531 {
532  G4cout << "New Mercury Material: " << newMaterial << G4endl;
533  logicMercury->SetMaterial(materials->GetMaterial(newMaterial));
535  //GeometryHasBeenModified is called by the messenger
536 }
G4GLOB_DLL std::ostream G4cout
G4Material * GetMaterial(G4String)
#define G4endl
Definition: G4ios.hh:61
void SetMaterial(G4Material *pMaterial)

Here is the call graph for this function:

Here is the caller graph for this function:

void XrayFluoMercuryDetectorConstruction::SetOribitHeight ( G4double  size)
inline

Definition at line 86 of file XrayFluoMercuryDetectorConstruction.hh.

87  {distDe = size;};

Here is the caller graph for this function:

void XrayFluoMercuryDetectorConstruction::UpdateGeometry ( )

Definition at line 512 of file XrayFluoMercuryDetectorConstruction.cc.

513 {
514 
519 
520  zRotPhiHPGe.rotateX(-1.*PhiHPGe);
521  ComputeApparateParameters();
522 
523  //Triggers a new call of Construct() and of all the geometry resets.
525 
526 }
HepRotation & rotateX(double delta)
Definition: Rotation.cc:66
static void Clean()
Definition: G4SolidStore.cc:79
static G4GeometryManager * GetInstance()
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79
void OpenGeometry(G4VPhysicalVolume *vol=0)

Here is the call graph for this function:

Here is the caller graph for this function:


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