BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Private Member Functions | Private Attributes
BDSSurvey Class Reference

A class of functions to output Geant4/Mokka/BDSIM parameters for the beamline. More...

#include <BDSSurvey.hh>

Collaboration diagram for BDSSurvey:
Collaboration graph

Public Member Functions

 BDSSurvey (G4String filename)
 
void Write (BDSBeamlineElement *beamlineElement)
 write line More...
 
void Write (BDSBeamline *beamline)
 Write a whole beamline, summary of it and close the file. More...
 

Private Member Functions

 BDSSurvey (const BDSSurvey &)=delete
 
BDSSurveyoperator= (const BDSSurvey &)=delete
 
void WriteHeader ()
 Write header. More...
 

Private Attributes

std::ofstream survey
 Output file stream. More...
 
BDSMagnetStrength const * nullStrength
 
std::vector< G4String > magnetKeys
 Cache of all the possible magnet strength parameters. More...
 
const int gp
 General precision - number of characters / item. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ BDSSurvey()

BDSSurvey::BDSSurvey ( G4String  filename)
explicit

Definition at line 36 of file BDSSurvey.cc.

◆ ~BDSSurvey()

BDSSurvey::~BDSSurvey ( )

Definition at line 47 of file BDSSurvey.cc.

Member Function Documentation

◆ Write() [1/2]

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().

Here is the call graph for this function:

◆ Write() [2/2]

void BDSSurvey::Write ( BDSBeamlineElement beamlineElement)

◆ WriteHeader()

void BDSSurvey::WriteHeader ( )
private

Write header.

Definition at line 54 of file BDSSurvey.cc.

References gp, magnetKeys, nullStrength, survey, and BDSMagnetStrength::UnitName().

Here is the call graph for this function:

Field Documentation

◆ gp

const int BDSSurvey::gp
private

General precision - number of characters / item.

Definition at line 69 of file BDSSurvey.hh.

Referenced by Write(), and WriteHeader().

◆ magnetKeys

std::vector<G4String> BDSSurvey::magnetKeys
private

Cache of all the possible magnet strength parameters.

Definition at line 67 of file BDSSurvey.hh.

Referenced by WriteHeader().

◆ nullStrength

BDSMagnetStrength const* BDSSurvey::nullStrength
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().

◆ survey

std::ofstream BDSSurvey::survey
private

Output file stream.

Definition at line 59 of file BDSSurvey.hh.

Referenced by Write(), and WriteHeader().


The documentation for this class was generated from the following files: