29 #ifndef HadrontherapyDetectorConstruction_H
30 #define HadrontherapyDetectorConstruction_H 1
111 if (detectorX > phantomX)
113 G4cout <<
"Error: Detector X dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
116 if ( (phantomX - detectorX) < pos.
getX())
118 G4cout <<
"Error: X dimension doesn't fit with detector to phantom relative position" <<
G4endl;
124 if (detectorY > phantomY)
126 G4cout <<
"Error: Detector Y dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
129 if ( (phantomY - detectorY) < pos.
getY())
131 G4cout <<
"Error: Y dimension doesn't fit with detector to phantom relative position" <<
G4endl;
137 if (detectorZ > phantomZ)
139 G4cout <<
"Error: Detector Z dimension must be smaller or equal to the corrispondent of the phantom" <<
G4endl;
142 if ( (phantomZ - detectorZ) < pos.
getZ())
144 G4cout <<
"Error: Z dimension doesn't fit with detector to phantom relative position" <<
G4endl;
void SetDetectorPosition()
G4int numberOfVoxelsAlongX
G4Material * phantomMaterial
void SetPhantomPosition(G4ThreeVector)
CLHEP::Hep3Vector G4ThreeVector
G4double sizeOfVoxelAlongX
G4bool SetPhantomMaterial(G4String material)
static const G4double pos
void SetVoxelSize(G4double sizeX, G4double sizeY, G4double sizeZ)
HadrontherapyDetectorConstruction(G4VPhysicalVolume *)
G4ThreeVector GetDetectorToWorldPosition()
G4Material * detectorMaterial
G4LogicalVolume * phantomLogicalVolume
~HadrontherapyDetectorConstruction()
G4ThreeVector detectorPosition
HadrontherapyDetectorMessenger * detectorMessenger
HadrontherapyDetectorSD * detectorSD
bool IsInside(G4double detectorX, G4double detectorY, G4double detectorZ, G4double phantomX, G4double phantomY, G4double phantomZ, G4ThreeVector pos)
void InitializeDetectorROGeometry(HadrontherapyDetectorROGeometry *, G4ThreeVector detectorToWorldPosition)
G4LogicalVolume * detectorLogicalVolume
G4ThreeVector phantomPosition
HadrontherapyDetectorROGeometry * detectorROGeometry
static HadrontherapyDetectorConstruction * GetInstance()
static HadrontherapyDetectorConstruction * instance
G4int numberOfVoxelsAlongY
G4VisAttributes * skyBlue
G4VPhysicalVolume * detectorPhysicalVolume
void SetDetectorToPhantomPosition(G4ThreeVector DetectorToPhantomPosition)
G4GLOB_DLL std::ostream G4cout
G4VPhysicalVolume * motherPhys
G4ThreeVector GetDetectorToPhantomPosition()
G4int numberOfVoxelsAlongZ
void SetPhantomSize(G4double sizeX, G4double sizeY, G4double sizeZ)
void SetDetectorSize(G4double sizeX, G4double sizeY, G4double sizeZ)
G4double sizeOfVoxelAlongZ
G4double sizeOfVoxelAlongY
G4LogicalVolume * GetDetectorLogicalVolume()
G4VPhysicalVolume * phantomPhysicalVolume
G4ThreeVector detectorToPhantomPosition
HadrontherapyMatrix * matrix