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

#include <XrayFluoPlaneDetectorConstruction.hh>

Inheritance diagram for XrayFluoPlaneDetectorConstruction:
G4VUserDetectorConstruction

Public Member Functions

 ~XrayFluoPlaneDetectorConstruction ()
 
G4VPhysicalVolumeConstruct ()
 
void UpdateGeometry ()
 
void SetPlaneMaterial (G4String newMaterial)
 
void SetDetectorType (G4String type)
 
void SetPlaneGranularity (G4bool granularity)
 
void SetGrainDia (G4double size)
 
void DeleteGrainObjects ()
 
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 G4VPhysicalVolumeGetPlane ()
 
const G4VPhysicalVolumeGetphysiPixel ()
 
const G4VPhysicalVolumeGetOhmicPos ()
 
const G4VPhysicalVolumeGetOhmicNeg ()
 
G4MaterialGetPlaneMaterial ()
 
G4MaterialGetPixelMaterial ()
 
G4double GetPlaneThickness ()
 
G4double GetPlaneSizeXY ()
 
- 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
XrayFluoPlaneDetectorConstruction
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 62 of file XrayFluoPlaneDetectorConstruction.hh.

Constructor & Destructor Documentation

XrayFluoPlaneDetectorConstruction::~XrayFluoPlaneDetectorConstruction ( )

Definition at line 162 of file XrayFluoPlaneDetectorConstruction.cc.

References G4cout, and G4endl.

164 {
165  delete detectorMessenger;
166  delete detectorType;
167  G4cout << "XrayFluoPlaneDetectorConstruction deleted" << G4endl;
168 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Member Function Documentation

G4VPhysicalVolume * XrayFluoPlaneDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 172 of file XrayFluoPlaneDetectorConstruction.cc.

173 {
174  return ConstructApparate();
175 }
void XrayFluoPlaneDetectorConstruction::DeleteGrainObjects ( )

Definition at line 618 of file XrayFluoPlaneDetectorConstruction.cc.

Referenced by XrayFluoPlaneDetectorMessenger::SetNewValue().

619 {
620  if (planeGranularity) {
621  delete solidGrain;
622  delete logicGrain;
623  delete physiGrain;
624  }
625 
626 }
G4double XrayFluoPlaneDetectorConstruction::GetContactSizeXY ( )
inline

Definition at line 104 of file XrayFluoPlaneDetectorConstruction.hh.

104 {return ContactSizeXY;};
XrayFluoVDetectorType * XrayFluoPlaneDetectorConstruction::GetDetectorType ( )

Definition at line 155 of file XrayFluoPlaneDetectorConstruction.cc.

Referenced by XrayFluoEventAction::XrayFluoEventAction().

156 {
157  return detectorType;
158 }
G4double XrayFluoPlaneDetectorConstruction::GetDeviceSizeX ( )
inline

Definition at line 101 of file XrayFluoPlaneDetectorConstruction.hh.

101 {return DeviceSizeX;};
G4double XrayFluoPlaneDetectorConstruction::GetDeviceSizeY ( )
inline

Definition at line 102 of file XrayFluoPlaneDetectorConstruction.hh.

102 {return DeviceSizeY;};
G4double XrayFluoPlaneDetectorConstruction::GetDeviceThickness ( )
inline

Definition at line 100 of file XrayFluoPlaneDetectorConstruction.hh.

100 {return DeviceThickness;};
const G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::GetHPGe ( )
inline

Definition at line 117 of file XrayFluoPlaneDetectorConstruction.hh.

117 {return physiHPGe;};
XrayFluoPlaneDetectorConstruction * XrayFluoPlaneDetectorConstruction::GetInstance ( void  )
static

Definition at line 125 of file XrayFluoPlaneDetectorConstruction.cc.

Referenced by XrayFluoSimulation::RunSimulation().

126 {
127  if (instance == 0)
128  {
129  instance = new XrayFluoPlaneDetectorConstruction;
130 
131  }
132  return instance;
133 }
G4int XrayFluoPlaneDetectorConstruction::GetNbOfPixelColumns ( )
inline

Definition at line 108 of file XrayFluoPlaneDetectorConstruction.hh.

108 {return NbOfPixelColumns;};
G4int XrayFluoPlaneDetectorConstruction::GetNbOfPixelRows ( )
inline

Definition at line 107 of file XrayFluoPlaneDetectorConstruction.hh.

107 {return NbOfPixelRows;};
G4int XrayFluoPlaneDetectorConstruction::GetNbOfPixels ( )
inline

Definition at line 106 of file XrayFluoPlaneDetectorConstruction.hh.

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

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

Definition at line 124 of file XrayFluoPlaneDetectorConstruction.hh.

124 {return physiOhmicNeg;};
G4Material* XrayFluoPlaneDetectorConstruction::GetOhmicNegMaterial ( )
inline

Definition at line 113 of file XrayFluoPlaneDetectorConstruction.hh.

113 {return OhmicNegMaterial;};
G4double XrayFluoPlaneDetectorConstruction::GetOhmicNegThickness ( )
inline

Definition at line 114 of file XrayFluoPlaneDetectorConstruction.hh.

114 {return OhmicNegThickness;};
const G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::GetOhmicPos ( )
inline

Definition at line 123 of file XrayFluoPlaneDetectorConstruction.hh.

123 {return physiOhmicPos;};
G4Material* XrayFluoPlaneDetectorConstruction::GetOhmicPosMaterial ( )
inline

Definition at line 110 of file XrayFluoPlaneDetectorConstruction.hh.

110 {return OhmicPosMaterial;};
G4double XrayFluoPlaneDetectorConstruction::GetOhmicPosThickness ( )
inline

Definition at line 111 of file XrayFluoPlaneDetectorConstruction.hh.

111 {return OhmicPosThickness;};
const G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::GetphysiPixel ( )
inline

Definition at line 122 of file XrayFluoPlaneDetectorConstruction.hh.

122 {return physiPixel;};
const G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::GetphysiWorld ( )
inline

Definition at line 116 of file XrayFluoPlaneDetectorConstruction.hh.

116 {return physiWorld;};
G4Material* XrayFluoPlaneDetectorConstruction::GetPixelMaterial ( )
inline

Definition at line 223 of file XrayFluoPlaneDetectorConstruction.hh.

223 {return pixelMaterial;};
G4double XrayFluoPlaneDetectorConstruction::GetPixelSizeXY ( )
inline

Definition at line 103 of file XrayFluoPlaneDetectorConstruction.hh.

103 {return PixelSizeXY;};
const G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::GetPlane ( )
inline

Definition at line 118 of file XrayFluoPlaneDetectorConstruction.hh.

118 {return physiPlane;};
G4Material* XrayFluoPlaneDetectorConstruction::GetPlaneMaterial ( )
inline

Definition at line 222 of file XrayFluoPlaneDetectorConstruction.hh.

222 {return planeMaterial;};
G4double XrayFluoPlaneDetectorConstruction::GetPlaneSizeXY ( )
inline

Definition at line 228 of file XrayFluoPlaneDetectorConstruction.hh.

Referenced by XrayFluoPlanePrimaryGeneratorAction::GeneratePrimaries().

228 {return planeSizeXY;};
G4double XrayFluoPlaneDetectorConstruction::GetPlaneThickness ( )
inline

Definition at line 227 of file XrayFluoPlaneDetectorConstruction.hh.

227 {return planeThickness;};
G4double XrayFluoPlaneDetectorConstruction::GetWorldSizeXY ( )
inline

Definition at line 98 of file XrayFluoPlaneDetectorConstruction.hh.

Referenced by XrayFluoPlanePrimaryGeneratorAction::GeneratePrimaries().

98 {return WorldSizeXY;};
G4double XrayFluoPlaneDetectorConstruction::GetWorldSizeZ ( )
inline
void XrayFluoPlaneDetectorConstruction::PrintApparateParameters ( )

Definition at line 564 of file XrayFluoPlaneDetectorConstruction.cc.

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

Referenced by SetPlaneMaterial().

565 {
566  G4cout << "-----------------------------------------------------------------------"
567  << G4endl
568  << "The plane is a box whose size is: "
569  << G4endl
570  << planeThickness/cm
571  << " cm * "
572  << planeSizeXY/cm
573  << " cm * "
574  << planeSizeXY/cm
575  << " cm"
576  << G4endl
577  <<" Material: " << logicPlane->GetMaterial()->GetName()
578  <<G4endl
579  <<"The Detector is a slice " << DeviceThickness/(1.e-6*m) << " micron thick of " << pixelMaterial->GetName()
580  <<G4endl
581 
582 
583 <<"-------------------------------------------------------------------------"
584  << G4endl;
585 }
G4Material * GetMaterial() const
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void XrayFluoPlaneDetectorConstruction::SetDetectorType ( G4String  type)

Definition at line 135 of file XrayFluoPlaneDetectorConstruction.cc.

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

Referenced by XrayFluoPlaneDetectorMessenger::SetNewValue().

136 {
137 
138  if (type=="sili")
139  {
140  detectorType = XrayFluoSiLiDetectorType::GetInstance();
141  }
142  else if (type=="hpge")
143  {
144  detectorType = XrayFluoHPGeDetectorType::GetInstance();
145  }
146  else
147  {
149  execp << type + "detector type unknown";
150  G4Exception("XrayFluoPlaneDetectorConstruction::SetDetectorType()","example-xray_fluorescence03",
151  FatalException, execp);
152  }
153 }
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 XrayFluoPlaneDetectorConstruction::SetGrainDia ( G4double  size)
inline

Definition at line 85 of file XrayFluoPlaneDetectorConstruction.hh.

Referenced by XrayFluoPlaneDetectorMessenger::SetNewValue().

86  {grainDia = size;};
void XrayFluoPlaneDetectorConstruction::SetPlaneGranularity ( G4bool  granularity)
inline

Definition at line 82 of file XrayFluoPlaneDetectorConstruction.hh.

Referenced by XrayFluoPlaneDetectorMessenger::SetNewValue().

83  {planeGranularity = granularity;};
void XrayFluoPlaneDetectorConstruction::SetPlaneMaterial ( G4String  newMaterial)

Definition at line 627 of file XrayFluoPlaneDetectorConstruction.cc.

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

Referenced by XrayFluoPlaneDetectorMessenger::SetNewValue().

628 {
629 
630 
631  G4cout << "Material!!!!" << newMaterial << G4endl;
632  logicPlane->SetMaterial(materials->GetMaterial(newMaterial));
634 
635 }
G4GLOB_DLL std::ostream G4cout
G4Material * GetMaterial(G4String)
#define G4endl
Definition: G4ios.hh:61
void SetMaterial(G4Material *pMaterial)
void XrayFluoPlaneDetectorConstruction::UpdateGeometry ( )

Definition at line 588 of file XrayFluoPlaneDetectorConstruction.cc.

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

Referenced by XrayFluoPlaneDetectorMessenger::SetNewValue().

589 {
590 
591  delete solidHPGe;
592  delete logicHPGe;
593  delete physiHPGe;
594  delete solidPixel;
595  delete logicPixel;
596  delete physiPixel;
597  delete solidOhmicNeg;
598  delete logicOhmicNeg;
599  delete physiOhmicNeg;
600  delete solidOhmicPos;
601  delete logicOhmicPos;
602  delete physiOhmicPos;
603  delete solidPlane;
604  delete logicPlane;
605  delete physiPlane;
606  delete solidScreen;
607  delete logicScreen;
608  delete physiScreen;
609  delete solidWorld;
610  delete logicWorld;
611  delete physiWorld;
612 
613  zRotPhiHPGe.rotateX(-1.*PhiHPGe);
614  G4RunManager::GetRunManager()->DefineWorldVolume(ConstructApparate());
615 }
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: