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;
 
  199   G4Box *phantom , *detector;
 
  211   G4ThreeVector phantomPosition, detectorPosition, detectorToPhantomPosition; 
 
  217   G4int numberOfVoxelsAlongX; 
 
  218   G4int numberOfVoxelsAlongY;
 
  219   G4int numberOfVoxelsAlongZ;  
 
  221   G4double volumeOfVoxel, massOfVoxel;
 
  223   G4Material *phantomMaterial, *detectorMaterial;
 
G4ThreeVector GetDetectorToPhantomPosition()
 
void SetDiscoZPositionIORT(G4double zpos)
 
CLHEP::Hep3Vector G4ThreeVector
 
~IORTDetectorConstruction()
 
void SetOuterRadiusDiscoIORT1(G4double outerr)
 
void SetDetectorToPhantomPosition(G4ThreeVector DetectorToPhantomPosition)
 
void SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ)
 
void SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ)
 
void SetheightDiscoIORT1(G4double height)
 
void SetinnerRadiusDiscoIORT1(G4double innerr)
 
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()
 
G4GLOB_DLL std::ostream G4cout
 
void SetDiscoXPositionIORT1(G4double xpos)
 
void SetDetectorPosition()
 
IORTDetectorConstruction(G4VPhysicalVolume *)
 
void SetAngleDiscoIORT0(G4double phi0)
 
void SetPhantomPosition(G4ThreeVector)
 
void SetinnerRadiusDiscoIORT(G4double innerr)
 
void SetheightDiscoIORT(G4double height)
 
void SetOuterRadiusDiscoIORT(G4double outerr)
 
G4bool SetDiscoMaterialIORT1(G4String material)
 
void SetDiscoXPositionIORT(G4double xpos)
 
G4ThreeVector GetDetectorToWorldPosition()
 
void SetVoxelSize(G4double sizeX, G4double sizeY, G4double sizeZ)