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;
void ConstructSensitiveDetector(G4ThreeVector positionToWORLD)
G4ThreeVector phantomPosition
G4int numberOfVoxelsAlongX
void SetDiscoXPositionIORT(G4double xpos)
G4Material * DiscoMaterialIORT
CLHEP::Hep3Vector G4ThreeVector
void SetheightDiscoIORT1(G4double height)
bool IsInside(G4double detectorX, G4double detectorY, G4double detectorZ, G4double phantomX, G4double phantomY, G4double phantomZ, G4ThreeVector detToPhantomPosition)
void SetDetectorToPhantomPosition(G4ThreeVector DetectorToPhantomPosition)
G4double DiscoYPositionIORT
G4ThreeVector GetDetectorToWorldPosition()
void SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ)
IORTDetectorConstruction(G4VPhysicalVolume *)
G4LogicalVolume * phantomLogicalVolume
G4LogicalVolume * logicDiscoIORT
G4VPhysicalVolume * physiDiscoIORT0
IORTDetectorMessenger * detectorMessenger
G4double innerRadiusDiscoIORT1
G4double sizeOfVoxelAlongY
G4int numberOfVoxelsAlongZ
G4LogicalVolume * GetDetectorLogicalVolume()
G4ThreeVector detectorPosition
void SetOuterRadiusDiscoIORT1(G4double outerr)
G4bool SetPhantomMaterial(G4String material)
G4VPhysicalVolume * detectorPhysicalVolume
G4double OuterRadiusDiscoIORT
G4double innerRadiusDiscoIORT
G4bool SetDiscoMaterialIORT1(G4String material)
G4LogicalVolume * detectorLogicalVolume
G4Material * phantomMaterial
void SetVoxelSize(G4double sizeX, G4double sizeY, G4double sizeZ)
G4VPhysicalVolume * motherPhys
IORTDetectorROGeometry * detectorROGeometry
void SetPhantomPosition(G4ThreeVector)
G4double DiscoZPositionIORT
G4ThreeVector GetDetectorToPhantomPosition()
G4double sizeOfVoxelAlongX
void SetinnerRadiusDiscoIORT(G4double innerr)
G4double heightDiscoIORT1
void SetDetectorPosition()
void SetheightDiscoIORT(G4double height)
void SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ)
G4double DiscoXPositionIORT
G4VPhysicalVolume * physiDiscoIORT1
void SetinnerRadiusDiscoIORT1(G4double innerr)
G4VPhysicalVolume * phantomPhysicalVolume
G4LogicalVolume * logicDiscoIORT0
void SetAngleDiscoIORT0(G4double phi0)
void SetDiscoXPositionIORT1(G4double xpos)
G4double sizeOfVoxelAlongZ
G4double OuterRadiusDiscoIORT1
void SetOuterRadiusDiscoIORT(G4double outerr)
G4ThreeVector detectorToPhantomPosition
G4GLOB_DLL std::ostream G4cout
IORTDetectorSD * detectorSD
G4bool SetDiscoMaterialIORT(G4String material)
G4Material * detectorMaterial
G4Material * DiscoMaterialIORT1
void SetDiscoYPositionIORT(G4double ypos)
G4LogicalVolume * logicDiscoIORT1
G4double DiscoXPositionIORT1
~IORTDetectorConstruction()
void SetDiscoZPositionIORT(G4double zpos)
G4VPhysicalVolume * physiDiscoIORT
G4int numberOfVoxelsAlongY