Geant4  10.02
HadrontherapyDetectorConstruction Class Reference

#include <HadrontherapyDetectorConstruction.hh>

+ Collaboration diagram for HadrontherapyDetectorConstruction:

Public Member Functions

 HadrontherapyDetectorConstruction (G4VPhysicalVolume *)
 
 ~HadrontherapyDetectorConstruction ()
 
void InitializeDetectorROGeometry (HadrontherapyDetectorROGeometry *, G4ThreeVector detectorToWorldPosition)
 
G4ThreeVector GetDetectorToWorldPosition ()
 
G4ThreeVector GetDetectorToPhantomPosition ()
 
void SetDetectorPosition ()
 
bool IsInside (G4double detectorX, G4double detectorY, G4double detectorZ, G4double phantomX, G4double phantomY, G4double phantomZ, G4ThreeVector pos)
 
G4bool SetPhantomMaterial (G4String material)
 
void SetVoxelSize (G4double sizeX, G4double sizeY, G4double sizeZ)
 
void SetDetectorSize (G4double sizeX, G4double sizeY, G4double sizeZ)
 
void SetPhantomSize (G4double sizeX, G4double sizeY, G4double sizeZ)
 
void SetPhantomPosition (G4ThreeVector)
 
void SetDetectorToPhantomPosition (G4ThreeVector DetectorToPhantomPosition)
 
void UpdateGeometry ()
 
void PrintParameters ()
 
G4LogicalVolumeGetDetectorLogicalVolume ()
 

Static Public Member Functions

static
HadrontherapyDetectorConstruction
GetInstance ()
 

Public Attributes

G4VPhysicalVolumemotherPhys
 
HadrontherapyDetectorSDdetectorSD
 

Private Member Functions

void ConstructPhantom ()
 
void ConstructDetector ()
 
void ParametersCheck ()
 
void CheckOverlaps ()
 

Private Attributes

HadrontherapyDetectorMessengerdetectorMessenger
 
G4VisAttributesskyBlue
 
G4VisAttributesred
 
HadrontherapyDetectorROGeometrydetectorROGeometry
 
HadrontherapyMatrixmatrix
 
HadrontherapyLetlet
 
G4Boxphantom
 
G4Boxdetector
 
G4LogicalVolumephantomLogicalVolume
 
G4LogicalVolumedetectorLogicalVolume
 
G4VPhysicalVolumephantomPhysicalVolume
 
G4VPhysicalVolumedetectorPhysicalVolume
 
G4double phantomSizeX
 
G4double phantomSizeY
 
G4double phantomSizeZ
 
G4double detectorSizeX
 
G4double detectorSizeY
 
G4double detectorSizeZ
 
G4ThreeVector phantomPosition
 
G4ThreeVector detectorPosition
 
G4ThreeVector detectorToPhantomPosition
 
G4double sizeOfVoxelAlongX
 
G4double sizeOfVoxelAlongY
 
G4double sizeOfVoxelAlongZ
 
G4int numberOfVoxelsAlongX
 
G4int numberOfVoxelsAlongY
 
G4int numberOfVoxelsAlongZ
 
G4double volumeOfVoxel
 
G4double massOfVoxel
 
G4MaterialphantomMaterial
 
G4MaterialdetectorMaterial
 
G4RegionaRegion
 

Static Private Attributes

static
HadrontherapyDetectorConstruction
instance = 0
 

Detailed Description

Definition at line 48 of file HadrontherapyDetectorConstruction.hh.

Constructor & Destructor Documentation

HadrontherapyDetectorConstruction::HadrontherapyDetectorConstruction ( G4VPhysicalVolume physicalTreatmentRoom)

Definition at line 62 of file HadrontherapyDetectorConstruction.cc.

References cm, detectorMessenger, HadrontherapyAnalysisManager::GetInstance(), SetDetectorPosition(), SetDetectorSize(), SetDetectorToPhantomPosition(), SetPhantomMaterial(), SetPhantomPosition(), SetPhantomSize(), sizeOfVoxelAlongX, sizeOfVoxelAlongY, sizeOfVoxelAlongZ, um, and UpdateGeometry().

+ Here is the call graph for this function:

HadrontherapyDetectorConstruction::~HadrontherapyDetectorConstruction ( )

Member Function Documentation

void HadrontherapyDetectorConstruction::CheckOverlaps ( )
private

Definition at line 410 of file HadrontherapyDetectorConstruction.cc.

References G4cout, G4endl, and G4PhysicalVolumeStore::GetInstance().

+ Here is the call graph for this function:

void HadrontherapyDetectorConstruction::ConstructDetector ( )
private

Definition at line 170 of file HadrontherapyDetectorConstruction.cc.

References aRegion, detector, detectorLogicalVolume, detectorMaterial, detectorPhysicalVolume, detectorPosition, detectorSizeX, detectorSizeY, detectorSizeZ, phantomPhysicalVolume, and skyBlue.

Referenced by UpdateGeometry().

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::ConstructPhantom ( )
private

Definition at line 119 of file HadrontherapyDetectorConstruction.cc.

References motherPhys, phantom, phantomLogicalVolume, phantomMaterial, phantomPhysicalVolume, phantomPosition, phantomSizeX, phantomSizeY, phantomSizeZ, and red.

Referenced by UpdateGeometry().

+ Here is the caller graph for this function:

G4LogicalVolume* HadrontherapyDetectorConstruction::GetDetectorLogicalVolume ( )
inline

Definition at line 160 of file HadrontherapyDetectorConstruction.hh.

References detectorLogicalVolume.

G4ThreeVector HadrontherapyDetectorConstruction::GetDetectorToPhantomPosition ( )
inline
G4ThreeVector HadrontherapyDetectorConstruction::GetDetectorToWorldPosition ( )
inline

Definition at line 72 of file HadrontherapyDetectorConstruction.hh.

References detectorPosition, and phantomPosition.

Referenced by PassiveCarbonBeamLine::Construct(), PassiveProtonBeamLine::Construct(), LaserDrivenBeamLine::Construct(), and UpdateGeometry().

+ Here is the caller graph for this function:

HadrontherapyDetectorConstruction * HadrontherapyDetectorConstruction::GetInstance ( )
static

Definition at line 110 of file HadrontherapyDetectorConstruction.cc.

References instance.

void HadrontherapyDetectorConstruction::InitializeDetectorROGeometry ( HadrontherapyDetectorROGeometry RO,
G4ThreeVector  detectorToWorldPosition 
)

Definition at line 213 of file HadrontherapyDetectorConstruction.cc.

References detectorSizeX, detectorSizeY, detectorSizeZ, HadrontherapyDetectorROGeometry::Initialize(), numberOfVoxelsAlongX, numberOfVoxelsAlongY, and numberOfVoxelsAlongZ.

Referenced by PassiveCarbonBeamLine::Construct(), PassiveProtonBeamLine::Construct(), and LaserDrivenBeamLine::Construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool HadrontherapyDetectorConstruction::IsInside ( G4double  detectorX,
G4double  detectorY,
G4double  detectorZ,
G4double  phantomX,
G4double  phantomY,
G4double  phantomZ,
G4ThreeVector  pos 
)
inline

Definition at line 99 of file HadrontherapyDetectorConstruction.hh.

References G4cout, and G4endl.

Referenced by ParametersCheck().

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::ParametersCheck ( )
private

Definition at line 228 of file HadrontherapyDetectorConstruction.cc.

References detectorSizeX, detectorSizeY, detectorSizeZ, detectorToPhantomPosition, FatalException, G4Exception(), IsInside(), phantomSizeX, phantomSizeY, phantomSizeZ, sizeOfVoxelAlongX, sizeOfVoxelAlongY, and sizeOfVoxelAlongZ.

Referenced by UpdateGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::PrintParameters ( )

Definition at line 426 of file HadrontherapyDetectorConstruction.cc.

References detector, G4BestUnit, G4cout, G4endl, numberOfVoxelsAlongX, numberOfVoxelsAlongY, numberOfVoxelsAlongZ, phantom, phantomPosition, sizeOfVoxelAlongX, sizeOfVoxelAlongY, and sizeOfVoxelAlongZ.

Referenced by UpdateGeometry().

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::SetDetectorPosition ( )
inline

Definition at line 88 of file HadrontherapyDetectorConstruction.hh.

References detectorPosition, detectorSizeX, detectorSizeY, detectorSizeZ, detectorToPhantomPosition, phantomSizeX, phantomSizeY, and phantomSizeZ.

Referenced by HadrontherapyDetectorConstruction(), and UpdateGeometry().

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::SetDetectorSize ( G4double  sizeX,
G4double  sizeY,
G4double  sizeZ 
)

Definition at line 291 of file HadrontherapyDetectorConstruction.cc.

References detectorSizeX, detectorSizeY, detectorSizeZ, SetVoxelSize(), sizeOfVoxelAlongX, sizeOfVoxelAlongY, and sizeOfVoxelAlongZ.

Referenced by HadrontherapyDetectorConstruction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::SetDetectorToPhantomPosition ( G4ThreeVector  DetectorToPhantomPosition)

Definition at line 314 of file HadrontherapyDetectorConstruction.cc.

References detectorToPhantomPosition.

Referenced by HadrontherapyDetectorConstruction().

+ Here is the caller graph for this function:

G4bool HadrontherapyDetectorConstruction::SetPhantomMaterial ( G4String  material)

Definition at line 255 of file HadrontherapyDetectorConstruction.cc.

References detectorLogicalVolume, detectorMaterial, G4cout, G4endl, pyG4RunManager::GeometryHasBeenModified, G4RunManager::GetRunManager(), G4NistManager::Instance(), phantomLogicalVolume, and phantomMaterial.

Referenced by HadrontherapyDetectorConstruction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::SetPhantomPosition ( G4ThreeVector  pos)

Definition at line 308 of file HadrontherapyDetectorConstruction.cc.

References phantomPosition, and pos.

Referenced by HadrontherapyDetectorConstruction().

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::SetPhantomSize ( G4double  sizeX,
G4double  sizeY,
G4double  sizeZ 
)

Definition at line 283 of file HadrontherapyDetectorConstruction.cc.

References phantomSizeX, phantomSizeY, and phantomSizeZ.

Referenced by HadrontherapyDetectorConstruction().

+ Here is the caller graph for this function:

void HadrontherapyDetectorConstruction::SetVoxelSize ( G4double  sizeX,
G4double  sizeY,
G4double  sizeZ 
)

Definition at line 300 of file HadrontherapyDetectorConstruction.cc.

References sizeOfVoxelAlongX, sizeOfVoxelAlongY, and sizeOfVoxelAlongZ.

Referenced by SetDetectorSize().

+ Here is the caller graph for this function:

Member Data Documentation

G4Region* HadrontherapyDetectorConstruction::aRegion
private

Definition at line 198 of file HadrontherapyDetectorConstruction.hh.

Referenced by ConstructDetector().

G4Box * HadrontherapyDetectorConstruction::detector
private
G4LogicalVolume * HadrontherapyDetectorConstruction::detectorLogicalVolume
private
G4Material * HadrontherapyDetectorConstruction::detectorMaterial
private
HadrontherapyDetectorMessenger* HadrontherapyDetectorConstruction::detectorMessenger
private
G4VPhysicalVolume * HadrontherapyDetectorConstruction::detectorPhysicalVolume
private

Definition at line 175 of file HadrontherapyDetectorConstruction.hh.

Referenced by ConstructDetector(), and UpdateGeometry().

G4ThreeVector HadrontherapyDetectorConstruction::detectorPosition
private
HadrontherapyDetectorROGeometry* HadrontherapyDetectorConstruction::detectorROGeometry
private
HadrontherapyDetectorSD* HadrontherapyDetectorConstruction::detectorSD

Definition at line 61 of file HadrontherapyDetectorConstruction.hh.

G4ThreeVector HadrontherapyDetectorConstruction::detectorToPhantomPosition
private
HadrontherapyDetectorConstruction * HadrontherapyDetectorConstruction::instance = 0
staticprivate

Definition at line 163 of file HadrontherapyDetectorConstruction.hh.

Referenced by GetInstance().

HadrontherapyLet* HadrontherapyDetectorConstruction::let
private

Definition at line 171 of file HadrontherapyDetectorConstruction.hh.

Referenced by UpdateGeometry().

G4double HadrontherapyDetectorConstruction::massOfVoxel
private

Definition at line 195 of file HadrontherapyDetectorConstruction.hh.

Referenced by UpdateGeometry().

HadrontherapyMatrix* HadrontherapyDetectorConstruction::matrix
private
G4VPhysicalVolume* HadrontherapyDetectorConstruction::motherPhys

Definition at line 60 of file HadrontherapyDetectorConstruction.hh.

Referenced by ConstructPhantom().

G4int HadrontherapyDetectorConstruction::numberOfVoxelsAlongX
private
G4int HadrontherapyDetectorConstruction::numberOfVoxelsAlongY
private
G4int HadrontherapyDetectorConstruction::numberOfVoxelsAlongZ
private
G4Box* HadrontherapyDetectorConstruction::phantom
private
G4LogicalVolume* HadrontherapyDetectorConstruction::phantomLogicalVolume
private

Definition at line 174 of file HadrontherapyDetectorConstruction.hh.

Referenced by ConstructPhantom(), and SetPhantomMaterial().

G4Material* HadrontherapyDetectorConstruction::phantomMaterial
private

Definition at line 197 of file HadrontherapyDetectorConstruction.hh.

Referenced by ConstructPhantom(), and SetPhantomMaterial().

G4VPhysicalVolume* HadrontherapyDetectorConstruction::phantomPhysicalVolume
private
G4ThreeVector HadrontherapyDetectorConstruction::phantomPosition
private
G4double HadrontherapyDetectorConstruction::phantomSizeX
private
G4double HadrontherapyDetectorConstruction::phantomSizeY
private
G4double HadrontherapyDetectorConstruction::phantomSizeZ
private
G4VisAttributes* HadrontherapyDetectorConstruction::red
private

Definition at line 167 of file HadrontherapyDetectorConstruction.hh.

Referenced by ConstructPhantom().

G4double HadrontherapyDetectorConstruction::sizeOfVoxelAlongX
private
G4double HadrontherapyDetectorConstruction::sizeOfVoxelAlongY
private
G4double HadrontherapyDetectorConstruction::sizeOfVoxelAlongZ
private
G4VisAttributes* HadrontherapyDetectorConstruction::skyBlue
private

Definition at line 166 of file HadrontherapyDetectorConstruction.hh.

Referenced by ConstructDetector().

G4double HadrontherapyDetectorConstruction::volumeOfVoxel
private

Definition at line 195 of file HadrontherapyDetectorConstruction.hh.

Referenced by UpdateGeometry().


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