#include <HadrontherapyDetectorConstruction.hh>
|
| 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 () |
|
G4LogicalVolume * | GetDetectorLogicalVolume () |
|
◆ HadrontherapyDetectorConstruction()
HadrontherapyDetectorConstruction::HadrontherapyDetectorConstruction |
( |
G4VPhysicalVolume * |
physicalTreatmentRoom | ) |
|
Definition at line 62 of file HadrontherapyDetectorConstruction.cc.
G4double sizeOfVoxelAlongZ
static HadrontherapyAnalysisManager * GetInstance()
void SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ)
G4VPhysicalVolume * motherPhys
HadrontherapyDetectorMessenger * detectorMessenger
CLHEP::Hep3Vector G4ThreeVector
HadrontherapyMatrix * matrix
G4double sizeOfVoxelAlongX
void SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ)
G4LogicalVolume * detectorLogicalVolume
void SetPhantomPosition(G4ThreeVector)
G4double sizeOfVoxelAlongY
void SetDetectorToPhantomPosition(G4ThreeVector DetectorToPhantomPosition)
HadrontherapyDetectorSD * detectorSD
G4VPhysicalVolume * phantomPhysicalVolume
HadrontherapyDetectorROGeometry * detectorROGeometry
G4bool SetPhantomMaterial(G4String material)
G4VPhysicalVolume * detectorPhysicalVolume
G4LogicalVolume * phantomLogicalVolume
void SetDetectorPosition()
◆ ~HadrontherapyDetectorConstruction()
HadrontherapyDetectorConstruction::~HadrontherapyDetectorConstruction |
( |
| ) |
|
Definition at line 102 of file HadrontherapyDetectorConstruction.cc.
HadrontherapyDetectorMessenger * detectorMessenger
HadrontherapyMatrix * matrix
HadrontherapyDetectorROGeometry * detectorROGeometry
◆ CheckOverlaps()
void HadrontherapyDetectorConstruction::CheckOverlaps |
( |
| ) |
|
|
private |
Definition at line 410 of file HadrontherapyDetectorConstruction.cc.
413 G4cout << thePVStore->size() <<
" physical volumes are defined" <<
G4endl;
414 G4bool overlapFlag =
false;
417 for (
size_t i=0;i<thePVStore->size();i++)
420 overlapFlag = (*thePVStore)[i]->CheckOverlaps(res,tol,
true) | overlapFlag; }
422 G4cout <<
"Check: there are overlapping volumes" <<
G4endl;
static G4PhysicalVolumeStore * GetInstance()
G4GLOB_DLL std::ostream G4cout
◆ ConstructDetector()
void HadrontherapyDetectorConstruction::ConstructDetector |
( |
| ) |
|
|
private |
Definition at line 170 of file HadrontherapyDetectorConstruction.cc.
193 skyBlue -> SetVisibility(
true);
194 skyBlue -> SetForceSolid(
true);
G4LogicalVolume * detectorLogicalVolume
G4Material * detectorMaterial
G4ThreeVector detectorPosition
G4VisAttributes * skyBlue
G4VPhysicalVolume * phantomPhysicalVolume
G4VPhysicalVolume * detectorPhysicalVolume
◆ ConstructPhantom()
void HadrontherapyDetectorConstruction::ConstructPhantom |
( |
| ) |
|
|
private |
Definition at line 119 of file HadrontherapyDetectorConstruction.cc.
130 "phantomLog", 0, 0, 0);
143 red -> SetVisibility(
true);
144 red -> SetForceSolid(
true);
145 red -> SetForceWireframe(
true);
G4VPhysicalVolume * motherPhys
G4VPhysicalVolume * phantomPhysicalVolume
G4Material * phantomMaterial
G4LogicalVolume * phantomLogicalVolume
G4ThreeVector phantomPosition
◆ GetDetectorLogicalVolume()
G4LogicalVolume* HadrontherapyDetectorConstruction::GetDetectorLogicalVolume |
( |
| ) |
|
|
inline |
◆ GetDetectorToPhantomPosition()
G4ThreeVector HadrontherapyDetectorConstruction::GetDetectorToPhantomPosition |
( |
| ) |
|
|
inline |
◆ GetDetectorToWorldPosition()
G4ThreeVector HadrontherapyDetectorConstruction::GetDetectorToWorldPosition |
( |
| ) |
|
|
inline |
◆ GetInstance()
◆ InitializeDetectorROGeometry()
Definition at line 213 of file HadrontherapyDetectorConstruction.cc.
G4int numberOfVoxelsAlongX
void Initialize(G4ThreeVector detectorPos, G4double detectorDimX, G4double detectorDimY, G4double detectorDimZ, G4int numberOfVoxelsX, G4int numberOfVoxelsY, G4int numberOfVoxelsZ)
G4int numberOfVoxelsAlongZ
G4int numberOfVoxelsAlongY
◆ IsInside()
Definition at line 99 of file HadrontherapyDetectorConstruction.hh.
110 if (detectorX > phantomX)
112 G4cout <<
"Error: Detector X dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
115 if ( (phantomX - detectorX) < pos.
getX())
117 G4cout <<
"Error: X dimension doesn't fit with detector to phantom relative position" <<
G4endl;
123 if (detectorY > phantomY)
125 G4cout <<
"Error: Detector Y dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
128 if ( (phantomY - detectorY) < pos.
getY())
130 G4cout <<
"Error: Y dimension doesn't fit with detector to phantom relative position" <<
G4endl;
136 if (detectorZ > phantomZ)
138 G4cout <<
"Error: Detector Z dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
141 if ( (phantomZ - detectorZ) < pos.
getZ())
143 G4cout <<
"Error: Z dimension doesn't fit with detector to phantom relative position" <<
G4endl;
G4GLOB_DLL std::ostream G4cout
◆ ParametersCheck()
void HadrontherapyDetectorConstruction::ParametersCheck |
( |
| ) |
|
|
private |
Definition at line 228 of file HadrontherapyDetectorConstruction.cc.
239 G4Exception(
"HadrontherapyDetectorConstruction::ParametersCheck()",
"Hadrontherapy0001",
FatalException,
"Error: Detector is not fully inside Phantom!");
244 G4Exception(
"HadrontherapyDetectorConstruction::ParametersCheck()",
"Hadrontherapy0002",
FatalException,
"Error: Detector X size must be bigger or equal than that of Voxel X!");
247 G4Exception(
" HadrontherapyDetectorConstruction::ParametersCheck()",
"Hadrontherapy0003",
FatalException,
"Error: Detector Y size must be bigger or equal than that of Voxel Y!");
250 G4Exception(
" HadrontherapyDetectorConstruction::ParametersCheck()",
"Hadrontherapy0004",
FatalException,
"Error: Detector Z size must be bigger or equal than that of Voxel Z!");
G4double sizeOfVoxelAlongZ
G4double sizeOfVoxelAlongX
G4double sizeOfVoxelAlongY
G4ThreeVector detectorToPhantomPosition
bool IsInside(G4double detectorX, G4double detectorY, G4double detectorZ, G4double phantomX, G4double phantomY, G4double phantomZ, G4ThreeVector pos)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ PrintParameters()
void HadrontherapyDetectorConstruction::PrintParameters |
( |
| ) |
|
Definition at line 426 of file HadrontherapyDetectorConstruction.cc.
429 G4cout <<
"The (X,Y,Z) dimensions of the phantom are : (" <<
434 G4cout <<
"The (X,Y,Z) dimensions of the detector are : (" <<
439 G4cout <<
"Displacement between Phantom and World is: ";
444 G4cout <<
"The (X,Y,Z) sizes of the Voxels are: (" <<
449 G4cout <<
"The number of Voxels along (X,Y,Z) is: (" <<
G4double sizeOfVoxelAlongZ
G4int numberOfVoxelsAlongX
G4double sizeOfVoxelAlongX
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4int numberOfVoxelsAlongZ
G4GLOB_DLL std::ostream G4cout
G4double sizeOfVoxelAlongY
G4ThreeVector phantomPosition
G4int numberOfVoxelsAlongY
◆ SetDetectorPosition()
void HadrontherapyDetectorConstruction::SetDetectorPosition |
( |
| ) |
|
|
inline |
◆ SetDetectorSize()
Definition at line 291 of file HadrontherapyDetectorConstruction.cc.
G4double sizeOfVoxelAlongZ
G4double sizeOfVoxelAlongX
G4double sizeOfVoxelAlongY
void SetVoxelSize(G4double sizeX, G4double sizeY, G4double sizeZ)
◆ SetDetectorToPhantomPosition()
void HadrontherapyDetectorConstruction::SetDetectorToPhantomPosition |
( |
G4ThreeVector |
DetectorToPhantomPosition | ) |
|
◆ SetPhantomMaterial()
G4bool HadrontherapyDetectorConstruction::SetPhantomMaterial |
( |
G4String |
material | ) |
|
Definition at line 255 of file HadrontherapyDetectorConstruction.cc.
269 G4cout <<
"The material of Phantom/Detector has been changed to " << material <<
G4endl;
274 G4cout <<
"WARNING: material \"" << material <<
"\" doesn't exist in NIST elements/materials" 275 " table [located in $G4INSTALL/source/materials/src/G4NistMaterialBuilder.cc]" <<
G4endl;
276 G4cout <<
"Use command \"/parameter/nist\" to see full materials list!" <<
G4endl;
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
G4LogicalVolume * detectorLogicalVolume
G4Material * detectorMaterial
G4Material * phantomMaterial
G4LogicalVolume * phantomLogicalVolume
static G4RunManager * GetRunManager()
def SetMaterial(material_name)
◆ SetPhantomPosition()
void HadrontherapyDetectorConstruction::SetPhantomPosition |
( |
G4ThreeVector |
pos | ) |
|
◆ SetPhantomSize()
◆ SetVoxelSize()
◆ UpdateGeometry()
void HadrontherapyDetectorConstruction::UpdateGeometry |
( |
| ) |
|
Definition at line 320 of file HadrontherapyDetectorConstruction.cc.
394 #ifdef G4ANALYSIS_USE_ROOT
G4double sizeOfVoxelAlongZ
static HadrontherapyAnalysisManager * GetInstance()
static HadrontherapyLet * GetInstance()
G4int numberOfVoxelsAlongX
HadrontherapyMatrix * matrix
G4double sizeOfVoxelAlongX
void Initialize(G4ThreeVector detectorPos, G4double detectorDimX, G4double detectorDimY, G4double detectorDimZ, G4int numberOfVoxelsX, G4int numberOfVoxelsY, G4int numberOfVoxelsZ)
G4int numberOfVoxelsAlongZ
static HadrontherapyMatrix * GetInstance()
G4Material * detectorMaterial
G4double sizeOfVoxelAlongY
G4ThreeVector detectorPosition
G4VPhysicalVolume * phantomPhysicalVolume
G4VPhysicalVolume * detectorPhysicalVolume
static G4GeometryManager * GetInstance()
void SetDetectorPosition()
static G4RunManager * GetRunManager()
G4VUserParallelWorld * GetParallelWorld(G4int i) const
G4ThreeVector phantomPosition
G4ThreeVector GetDetectorToWorldPosition()
G4int numberOfVoxelsAlongY
const G4VUserDetectorConstruction * GetUserDetectorConstruction() const
◆ aRegion
G4Region* HadrontherapyDetectorConstruction::aRegion |
|
private |
◆ detector
G4Box * HadrontherapyDetectorConstruction::detector |
|
private |
◆ detectorLogicalVolume
◆ detectorMaterial
G4Material * HadrontherapyDetectorConstruction::detectorMaterial |
|
private |
◆ detectorMessenger
◆ detectorPhysicalVolume
◆ detectorPosition
G4ThreeVector HadrontherapyDetectorConstruction::detectorPosition |
|
private |
◆ detectorROGeometry
◆ detectorSD
◆ detectorSizeX
G4double HadrontherapyDetectorConstruction::detectorSizeX |
|
private |
◆ detectorSizeY
G4double HadrontherapyDetectorConstruction::detectorSizeY |
|
private |
◆ detectorSizeZ
G4double HadrontherapyDetectorConstruction::detectorSizeZ |
|
private |
◆ detectorToPhantomPosition
G4ThreeVector HadrontherapyDetectorConstruction::detectorToPhantomPosition |
|
private |
◆ instance
◆ let
◆ massOfVoxel
G4double HadrontherapyDetectorConstruction::massOfVoxel |
|
private |
◆ matrix
◆ motherPhys
◆ numberOfVoxelsAlongX
G4int HadrontherapyDetectorConstruction::numberOfVoxelsAlongX |
|
private |
◆ numberOfVoxelsAlongY
G4int HadrontherapyDetectorConstruction::numberOfVoxelsAlongY |
|
private |
◆ numberOfVoxelsAlongZ
G4int HadrontherapyDetectorConstruction::numberOfVoxelsAlongZ |
|
private |
◆ phantom
G4Box* HadrontherapyDetectorConstruction::phantom |
|
private |
◆ phantomLogicalVolume
◆ phantomMaterial
G4Material* HadrontherapyDetectorConstruction::phantomMaterial |
|
private |
◆ phantomPhysicalVolume
◆ phantomPosition
◆ phantomSizeX
G4double HadrontherapyDetectorConstruction::phantomSizeX |
|
private |
◆ phantomSizeY
G4double HadrontherapyDetectorConstruction::phantomSizeY |
|
private |
◆ phantomSizeZ
G4double HadrontherapyDetectorConstruction::phantomSizeZ |
|
private |
◆ red
◆ sizeOfVoxelAlongX
G4double HadrontherapyDetectorConstruction::sizeOfVoxelAlongX |
|
private |
◆ sizeOfVoxelAlongY
G4double HadrontherapyDetectorConstruction::sizeOfVoxelAlongY |
|
private |
◆ sizeOfVoxelAlongZ
G4double HadrontherapyDetectorConstruction::sizeOfVoxelAlongZ |
|
private |
◆ skyBlue
◆ volumeOfVoxel
G4double HadrontherapyDetectorConstruction::volumeOfVoxel |
|
private |
The documentation for this class was generated from the following files: