BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
A class of functions to output Geant4/Mokka/BDSIM parameters for the beamline. More...
#include <BDSSurvey.hh>
Public Member Functions | |
BDSSurvey (G4String filename) | |
void | Write (BDSBeamlineElement *beamlineElement) |
write line | |
void | Write (BDSBeamline *beamline) |
Write a whole beamline, summary of it and close the file. | |
Private Member Functions | |
BDSSurvey (const BDSSurvey &)=delete | |
BDSSurvey & | operator= (const BDSSurvey &)=delete |
void | WriteHeader () |
Write header. | |
Private Attributes | |
std::ofstream | survey |
Output file stream. | |
BDSMagnetStrength const * | nullStrength |
std::vector< G4String > | magnetKeys |
Cache of all the possible magnet strength parameters. | |
const int | gp |
General precision - number of characters / item. | |
A class of functions to output Geant4/Mokka/BDSIM parameters for the beamline.
This writes all details about elements in a beamline including geometrical placement information, fields, etc, much like MadX Tfs file.
Definition at line 38 of file BDSSurvey.hh.
|
explicit |
Definition at line 36 of file BDSSurvey.cc.
BDSSurvey::~BDSSurvey | ( | ) |
Definition at line 47 of file BDSSurvey.cc.
void BDSSurvey::Write | ( | BDSBeamline * | beamline | ) |
Write a whole beamline, summary of it and close the file.
Definition at line 99 of file BDSSurvey.cc.
References BDSBeamline::GetTotalArcLength(), BDSBeamline::GetTotalChordLength(), survey, and Write().
void BDSSurvey::Write | ( | BDSBeamlineElement * | beamlineElement | ) |
write line
Definition at line 109 of file BDSSurvey.cc.
References BDSBeamPipeInfo::aper1, BDSBeamPipeInfo::aper2, BDSBeamPipeInfo::aper3, BDSBeamPipeInfo::aper4, BDSBeamPipeInfo::beamPipeType, BDSBeamlineElement::GetAcceleratorComponent(), BDSAcceleratorComponent::GetAngle(), BDSAcceleratorComponent::GetArcLength(), BDSAcceleratorComponent::GetBeamPipeInfo(), BDSAcceleratorComponent::GetChordLength(), BDSAcceleratorComponent::GetName(), BDSBeamlineElement::GetPositionMiddle(), BDSBeamlineElement::GetRotationMiddle(), BDSBeamlineElement::GetSPositionEnd(), BDSBeamlineElement::GetSPositionMiddle(), BDSBeamlineElement::GetSPositionStart(), BDSAcceleratorComponent::GetType(), gp, nullStrength, survey, and BDSMagnetStrength::WriteValuesInSIUnitsForSuvey().
Referenced by BDSDetectorConstruction::BuildBeamline(), and Write().
|
private |
Write header.
Definition at line 54 of file BDSSurvey.cc.
References gp, magnetKeys, nullStrength, survey, and BDSMagnetStrength::UnitName().
|
private |
General precision - number of characters / item.
Definition at line 69 of file BDSSurvey.hh.
Referenced by Write(), and WriteHeader().
|
private |
Cache of all the possible magnet strength parameters.
Definition at line 67 of file BDSSurvey.hh.
Referenced by WriteHeader().
|
private |
The default zero strength instance of BDSMagnetStrength that can be queried in place of one not being available - ie when the element isn't a magnet.
Definition at line 64 of file BDSSurvey.hh.
Referenced by Write(), and WriteHeader().
|
private |
Output file stream.
Definition at line 59 of file BDSSurvey.hh.
Referenced by Write(), and WriteHeader().