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

#include <XrayFluoPlaneDetectorConstruction.hh>

Inheritance diagram for XrayFluoPlaneDetectorConstruction:
Collaboration diagram for XrayFluoPlaneDetectorConstruction:

Public Member Functions

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

Constructor & Destructor Documentation

XrayFluoPlaneDetectorConstruction::~XrayFluoPlaneDetectorConstruction ( )

Definition at line 168 of file XrayFluoPlaneDetectorConstruction.cc.

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

Member Function Documentation

G4VPhysicalVolume * XrayFluoPlaneDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 178 of file XrayFluoPlaneDetectorConstruction.cc.

179 {
180  return ConstructApparate();
181 }
void XrayFluoPlaneDetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 556 of file XrayFluoPlaneDetectorConstruction.cc.

557 {
558  //
559  // Sensitive Detectors
560  //
561  if (HPGeSD.Get() == 0)
562  {
563  XrayFluoSD* SD = new XrayFluoSD ("HPGeSD",this);
564  HPGeSD.Put( SD );
565  }
567  if (logicPixel)
568  SetSensitiveDetector(logicPixel,HPGeSD.Get());
569 }
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:

void XrayFluoPlaneDetectorConstruction::DeleteGrainObjects ( )

Definition at line 611 of file XrayFluoPlaneDetectorConstruction.cc.

612 {
613  if (planeGranularity) {
614  delete solidGrain;
615  delete logicGrain;
616  delete physiGrain;
617  }
618 
619 }

Here is the caller graph for this function:

G4double XrayFluoPlaneDetectorConstruction::GetContactSizeXY ( ) const
inline

Definition at line 105 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 161 of file XrayFluoPlaneDetectorConstruction.cc.

162 {
163  return detectorType;
164 }

Here is the caller graph for this function:

G4double XrayFluoPlaneDetectorConstruction::GetDeviceSizeX ( ) const
inline

Definition at line 102 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 103 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 101 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 118 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 129 of file XrayFluoPlaneDetectorConstruction.cc.

130 {
131  if (instance == 0)
132  {
133  instance = new XrayFluoPlaneDetectorConstruction;
134 
135  }
136  return instance;
137 }

Here is the caller graph for this function:

G4int XrayFluoPlaneDetectorConstruction::GetNbOfPixelColumns ( ) const
inline

Definition at line 109 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 108 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 107 of file XrayFluoPlaneDetectorConstruction.hh.

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

Here is the caller graph for this function:

const G4VPhysicalVolume* XrayFluoPlaneDetectorConstruction::GetOhmicNeg ( ) const
inline

Definition at line 125 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 114 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 115 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 124 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 111 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 112 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 123 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 117 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 224 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 104 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 119 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 223 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 229 of file XrayFluoPlaneDetectorConstruction.hh.

229 {return planeSizeXY;};

Here is the caller graph for this function:

G4double XrayFluoPlaneDetectorConstruction::GetPlaneThickness ( ) const
inline

Definition at line 228 of file XrayFluoPlaneDetectorConstruction.hh.

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

Definition at line 99 of file XrayFluoPlaneDetectorConstruction.hh.

99 {return WorldSizeXY;};

Here is the caller graph for this function:

G4double XrayFluoPlaneDetectorConstruction::GetWorldSizeZ ( ) const
inline

Definition at line 98 of file XrayFluoPlaneDetectorConstruction.hh.

98 {return WorldSizeZ;};

Here is the caller graph for this function:

void XrayFluoPlaneDetectorConstruction::PrintApparateParameters ( )

Definition at line 573 of file XrayFluoPlaneDetectorConstruction.cc.

574 {
575  G4cout << "-----------------------------------------------------------------------"
576  << G4endl
577  << "The plane is a box whose size is: "
578  << G4endl
579  << planeThickness/cm
580  << " cm * "
581  << planeSizeXY/cm
582  << " cm * "
583  << planeSizeXY/cm
584  << " cm"
585  << G4endl
586  <<" Material: " << logicPlane->GetMaterial()->GetName()
587  <<G4endl
588  <<"The Detector is a slice " << DeviceThickness/(1.e-6*m) << " micron thick of " << pixelMaterial->GetName()
589  <<G4endl
590 
591 
592 <<"-------------------------------------------------------------------------"
593  << G4endl;
594 }
G4Material * GetMaterial() const
const G4String & GetName() const
Definition: G4Material.hh:178
G4GLOB_DLL std::ostream G4cout
static constexpr double m
Definition: G4SIunits.hh:129
static constexpr double cm
Definition: G4SIunits.hh:119
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

Here is the caller graph for this function:

void XrayFluoPlaneDetectorConstruction::SetDetectorType ( G4String  type)

Definition at line 139 of file XrayFluoPlaneDetectorConstruction.cc.

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

Definition at line 86 of file XrayFluoPlaneDetectorConstruction.hh.

87  {grainDia = size;};

Here is the caller graph for this function:

void XrayFluoPlaneDetectorConstruction::SetPlaneGranularity ( G4bool  granularity)
inline

Definition at line 83 of file XrayFluoPlaneDetectorConstruction.hh.

84  {planeGranularity = granularity;};

Here is the caller graph for this function:

void XrayFluoPlaneDetectorConstruction::SetPlaneMaterial ( G4String  newMaterial)

Definition at line 623 of file XrayFluoPlaneDetectorConstruction.cc.

624 {
625  //G4cout << "Material!!!!" << newMaterial << G4endl;
626  logicPlane->SetMaterial(materials->GetMaterial(newMaterial));
628  //GeometryHasBeenModified is called by the messenger
629 
630 }
G4Material * GetMaterial(G4String)
void SetMaterial(G4Material *pMaterial)

Here is the call graph for this function:

Here is the caller graph for this function:

void XrayFluoPlaneDetectorConstruction::UpdateGeometry ( )

Definition at line 597 of file XrayFluoPlaneDetectorConstruction.cc.

598 {
603 
604  zRotPhiHPGe.rotateX(-1.*PhiHPGe);
605  //Triggers a new call of Construct() and of all the geometry resets.
607 }
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: