57 delete acceleratorEnv;
59 delete backScatteredPlane;
84 G4Box *worldB =
new G4Box(
"worldG", halfSize, halfSize, halfSize);
93 if (!acceleratorEnv->
Construct(PVWorld, bOV))
112 phaseSpace->
createPlane(
idSD_PhaseSpace, inputData->
generalData.
max_N_particles_in_PhSp_File, inputData->
generalData.
seed, inputData->
generalData.
nMaxParticlesInRamPlanePhaseSpace, acceleratorEnv->
getPhysicalVolume(),
"PhSp", inputData->
generalData.
PhaseSpaceOutFile, inputData->
generalData.
bSavePhaseSpace, inputData->
generalData.
bStopAtPhaseSpace, inputData->
generalData.
centrePhaseSpace, inputData->
generalData.
halfSizePhaseSpace,&inputData->
primaryParticleData, acceleratorEnv->
getAcceleratorIsoCentre());
129 int nSubWorlds, nSubWorlds2;
134 for (
int j=0; j<nSubWorlds; j++)
138 for (
int k=0; k<nSubWorlds2; k++)
148 G4bool bNewRotation=
false;
150 G4bool bNewGeometry=
false;
158 if (bNewRotation || bNewCentre){bNewGeometry=
true;}
G4ThreeVector centrePhaseSpace
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
bool create(SInputData *inputData, bool bOnlyVisio)
G4double getZ_Value_PhaseSpaceBeforeJaws()
static constexpr double mm
G4int nMaxParticlesInRamPlanePhaseSpace
CLHEP::Hep3Vector G4ThreeVector
bool Construct(G4VPhysicalVolume *PVWorld, G4int saving_in_ROG_Voxels_every_events, G4int seed, G4String ROGOutFile, G4bool bSaveROG, G4bool bOnlyVisio)
static CML2AcceleratorConstruction * GetInstance(void)
G4VPhysicalVolume * getPhysicalVolume(void)
G4VPhysicalVolume * Construct()
G4double getAcceleratorIsoCentre()
G4VPhysicalVolume * GetDaughter(const G4int i) const
static CML2WorldConstruction * GetInstance(void)
static G4NistManager * Instance()
G4String StartFileInputData
void SetVisibility(G4bool=true)
G4bool bForcePhaseSpaceBeforeJaws
~CML2WorldConstruction(void)
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
void setRotation(G4RotationMatrix *val)
G4int GetNoDaughters() const
bool Construct(G4VPhysicalVolume *PVWorld, G4bool bOnlyVisio)
G4LogicalVolume * GetLogicalVolume() const
int max_N_particles_in_PhSp_File
int saving_in_ROG_Voxels_every_events
G4ThreeVector halfSizePhaseSpace
G4RotationMatrix * rotateAccelerator()
void checkVolumeOverlap()
G4String getPhantomName()
static CML2PrimaryGenerationAction * GetInstance(void)
bool createPlane(G4VPhysicalVolume *PVWorld, G4String name, G4ThreeVector centre, G4ThreeVector halfSize)
CML2WorldConstruction(void)
virtual G4bool CheckOverlaps(G4int res=1000, G4double tol=0., G4bool verbose=true, G4int errMax=1)
void SetVisAttributes(const G4VisAttributes *pVA)
static CML2PhantomConstruction * GetInstance(void)
G4String getAcceleratorName()
G4String PhaseSpaceOutFile
void applyNewCentre(G4ThreeVector val)