41 #ifndef IORTDetectorConstruction_H
42 #define IORTDetectorConstruction_H 1
70 void ConstructPhantom();
71 void ConstructDetector();
73 void ConstructSensitiveDetector(
G4ThreeVector positionToWORLD);
74 void ParametersCheck();
80 return phantomPosition + detectorPosition;
87 phantomSizeY/2 - detectorSizeY/2 + detectorPosition.
getY(),
88 phantomSizeZ/2 - detectorSizeZ/2 + detectorPosition.
getZ()
97 detectorPosition.
setX(detectorToPhantomPosition.
getX() - phantomSizeX/2 + detectorSizeX/2);
98 detectorPosition.
setY(detectorToPhantomPosition.
getY() - phantomSizeY/2 + detectorSizeY/2);
99 detectorPosition.
setZ(detectorToPhantomPosition.
getZ() - phantomSizeZ/2 + detectorSizeZ/2);
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;
200 G4Box *phantom , *detector;
212 G4ThreeVector phantomPosition, detectorPosition, detectorToPhantomPosition;
218 G4int numberOfVoxelsAlongX;
219 G4int numberOfVoxelsAlongY;
220 G4int numberOfVoxelsAlongZ;
222 G4double volumeOfVoxel, massOfVoxel;
224 G4Material *phantomMaterial, *detectorMaterial;