41 #ifndef IORTDetectorConstruction_H 42 #define IORTDetectorConstruction_H 1 117 if (detectorX > phantomX)
119 G4cout <<
"Error: Detector X dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
122 if ( (phantomX - detectorX) < detToPhantomPosition.
getX())
124 G4cout <<
"Error: X dimension doesn't fit with detector to phantom relative position" <<
G4endl;
130 if (detectorY > phantomY)
132 G4cout <<
"Error: Detector Y dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
135 if ( (phantomY - detectorY) < detToPhantomPosition.
getY())
137 G4cout <<
"Error: Y dimension doesn't fit with detector to phantom relative position" <<
G4endl;
143 if (detectorZ > phantomZ)
145 G4cout <<
"Error: Detector Z dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
148 if ( (phantomZ - detectorZ) < detToPhantomPosition.
getZ())
150 G4cout <<
"Error: Z dimension doesn't fit with detector to phantom relative position" <<
G4endl;
G4LogicalVolume * logicDiscoIORT
G4ThreeVector GetDetectorToPhantomPosition()
void ConstructSensitiveDetector(G4ThreeVector positionToWORLD)
G4Material * phantomMaterial
G4VPhysicalVolume * physiDiscoIORT1
void SetDiscoZPositionIORT(G4double zpos)
G4LogicalVolume * phantomLogicalVolume
G4ThreeVector detectorPosition
CLHEP::Hep3Vector G4ThreeVector
G4int numberOfVoxelsAlongX
G4Material * DiscoMaterialIORT1
G4int numberOfVoxelsAlongY
~IORTDetectorConstruction()
void SetOuterRadiusDiscoIORT1(G4double outerr)
void SetDetectorToPhantomPosition(G4ThreeVector DetectorToPhantomPosition)
G4double DiscoXPositionIORT
void SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ)
IORTDetectorROGeometry * detectorROGeometry
void SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ)
void SetheightDiscoIORT1(G4double height)
G4double DiscoYPositionIORT
void SetinnerRadiusDiscoIORT1(G4double innerr)
G4double sizeOfVoxelAlongY
G4LogicalVolume * logicDiscoIORT1
G4LogicalVolume * logicDiscoIORT0
G4double sizeOfVoxelAlongX
G4bool SetDiscoMaterialIORT(G4String material)
void SetDiscoYPositionIORT(G4double ypos)
G4bool SetPhantomMaterial(G4String material)
bool IsInside(G4double detectorX, G4double detectorY, G4double detectorZ, G4double phantomX, G4double phantomY, G4double phantomZ, G4ThreeVector detToPhantomPosition)
G4LogicalVolume * GetDetectorLogicalVolume()
G4VPhysicalVolume * motherPhys
G4GLOB_DLL std::ostream G4cout
G4double DiscoZPositionIORT
G4double sizeOfVoxelAlongZ
void SetDiscoXPositionIORT1(G4double xpos)
void SetDetectorPosition()
G4VPhysicalVolume * phantomPhysicalVolume
G4int numberOfVoxelsAlongZ
IORTDetectorConstruction(G4VPhysicalVolume *)
G4Material * DiscoMaterialIORT
G4VPhysicalVolume * detectorPhysicalVolume
void SetAngleDiscoIORT0(G4double phi0)
void SetPhantomPosition(G4ThreeVector)
void SetinnerRadiusDiscoIORT(G4double innerr)
G4double innerRadiusDiscoIORT1
G4Material * detectorMaterial
void SetheightDiscoIORT(G4double height)
G4double innerRadiusDiscoIORT
void SetOuterRadiusDiscoIORT(G4double outerr)
G4VPhysicalVolume * physiDiscoIORT0
G4bool SetDiscoMaterialIORT1(G4String material)
void SetDiscoXPositionIORT(G4double xpos)
G4ThreeVector GetDetectorToWorldPosition()
G4double OuterRadiusDiscoIORT
G4VPhysicalVolume * physiDiscoIORT
G4double DiscoXPositionIORT1
G4ThreeVector detectorToPhantomPosition
G4ThreeVector phantomPosition
IORTDetectorSD * detectorSD
G4double OuterRadiusDiscoIORT1
G4double heightDiscoIORT1
IORTDetectorMessenger * detectorMessenger
G4LogicalVolume * detectorLogicalVolume
void SetVoxelSize(G4double sizeX, G4double sizeY, G4double sizeZ)