60 solidMod1(0), logicMod1(0), physiMod1(0),
61 solidMod2(0), logicMod2(0), physiMod2(0),
62 solidMod3(0), logicMod3(0), physiMod3(0),
63 solidMod4(0), logicMod4(0), physiMod4(0),
64 FileName(
"Modulators/Modulator009_02.txt")
91 for (
G4int i=0;i<4*(StepNumbers-1)+1;i++)
177 G4cout<<
" WARNING: The File with name of "<<Name<<
178 " doesn't exist to get modulator step properties. please modify it and try again"<<
G4endl;
180 G4Exception(
"HadrontherapyModulator::ModulatorPropertiesFromFile( )",
"Hadrontherapy0009"
181 ,
FatalException,
"Error: No available external file for reading from");
186 File >>
string>>
string>>string;
243 WholeStartingAngle=StartingAngle[i];
298 startAngleOfTheTube0,
299 spanningAngleOfTheTube0);
353 startAngleOfTheTube0,
354 spanningAngleOfTheTube0);
397 startAngleOfTheTube0/2.,
398 spanningAngleOfTheTube0);
441 startAngleOfTheTube0/2.,
442 spanningAngleOfTheTube0);
470 red-> SetVisibility(
true);
471 red-> SetForceSolid(
true);
481 logicMod[i] -> SetVisAttributes(red);
492 rm -> rotateZ(rotationAngle);
494 G4cout <<
"MODULATOR HAS BEEN ROTATED OF " << rotationAngle/
deg
508 logicMod[i] -> SetMaterial(NewMaterial);
514 G4cout <<
"The material of the Modulator wheel has been changed to " << Material <<
G4endl;
519 G4cout <<
"WARNING: material \"" << Material <<
"\" doesn't exist in NIST elements/materials"
520 " table [located in $G4INSTALL/source/materials/src/G4NistMaterialBuilder.cc]" <<
G4endl;
521 G4cout <<
"Use command \"/parameter/nist\" to see full materials list!" <<
G4endl;
534 G4cout <<
"The modulator wheel is translated to"<< NewModulatorPos/
mm <<
"mm " <<
G4endl;
547 solidMod[i] -> SetInnerRadius(newvalue);}
549 G4cout <<
"InnerRadius of the Modulator Wheel has been changed to :"
562 solidMod[i] -> SetOuterRadius(newvalue);}
564 G4cout <<
"OuterRadius of the Modulator Wheel has been changed to :"
572 if(value==
"default" )
576 G4cout<<
" Step properties of modulator will be get out from the external file "
void SetModulatorMaterial(G4String)
static G4RunManager * GetRunManager()
void SetModulatorOuterRadius(G4double)
CLHEP::Hep3Vector G4ThreeVector
G4double innerRadiusOfTheTube
void ModulatorDefaultProperties()
static constexpr double mm
CLHEP::HepRotation G4RotationMatrix
void SetModulatorInnerRadius(G4double)
G4LogicalVolume ** logicMod
void SetModulatorPosition(G4ThreeVector)
void SetModulatorAngle(G4double)
G4LogicalVolume * logicMod1
~HadrontherapyModulator()
HadrontherapyModulatorMessenger * ModulatorMessenger
static const G4VisAttributes & GetInvisible()
const XML_Char int const XML_Char * value
void GetStepInformation()
static constexpr double deg
void GetDataFromFile(G4String value)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4VPhysicalVolume * physiMotherMod
void SetVisAttributes(const G4VisAttributes *pVA)
G4ThreeVector * PositionMod
G4VPhysicalVolume * physiMod3
G4LogicalVolume * logicMod3
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4double outerRadiusOfTheTube
G4VPhysicalVolume * physiMod4
HepRotation & rotateZ(double delta)
static constexpr double cm
G4GLOB_DLL std::ostream G4cout
G4LogicalVolume * logicMotherMod
G4VPhysicalVolume * physiMod1
G4LogicalVolume * logicMod4
G4LogicalVolume * logicMod2
void ModulatorPropertiesFromFile(G4String)
G4VPhysicalVolume * physiMod2
G4VPhysicalVolume ** physiMod
void BuildModulator(G4VPhysicalVolume *)
static G4NistManager * Instance()