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