BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Class for querying the a raw field object. More...
#include <BDSFieldQueryRaw.hh>
Public Member Functions | |
void | QueryFieldRaw (G4Field *field, const BDSFieldQueryInfo *query) |
Query the field in the Geant4 model according to information in query. | |
![]() | |
virtual void | QueryField (const BDSFieldQueryInfo *query) |
Query the field in the Geant4 model according to information in query. | |
void | QueryFields (const std::vector< BDSFieldQueryInfo * > &fieldQueries) |
Vector version of above function. Unique output files for each query. | |
virtual void | CleanUp () |
Reset any member variables used during a query. Closes any files if open. | |
Protected Member Functions | |
virtual void | GetFieldValue (const G4ThreeVector &globalXYZ, const G4ThreeVector &globalDirection, G4double tGlobal, G4double fieldValue[6]) |
virtual void | CheckIfFieldObjectSpecified (const BDSFieldQueryInfo *query) const |
virtual void | GetFieldValue (const G4ThreeVector &globalXYZ, const G4ThreeVector &globalDirection, G4double tGlobal, G4double fieldValue[6]) |
virtual void | CheckIfFieldObjectSpecified (const BDSFieldQueryInfo *query) const |
Warn the user if the fieldObject variable is use when it shouldn't be. | |
Private Member Functions | |
void | QueryFields (const std::vector< BDSFieldQueryInfo * > &fieldQueries) |
Make regular interface private and unusable for this version of the class. | |
virtual void | QueryField (const BDSFieldQueryInfo *query) |
Query the field in the Geant4 model according to information in query. | |
Private Attributes | |
G4Field * | field |
The field object to query. | |
Additional Inherited Members | |
![]() | |
static void | AttachWorldVolumeToNavigator (G4VPhysicalVolume *worldPVIn) |
Setup the navigator w.r.t. to a world volume. | |
Class for querying the a raw field object.
Output is a BDSIM-format field map. Unique files for electric and magnetic field maps as would be required to read the field maps back into BDSIM.
Definition at line 38 of file BDSFieldQueryRaw.hh.
BDSFieldQueryRaw::BDSFieldQueryRaw | ( | ) |
Definition at line 28 of file BDSFieldQueryRaw.cc.
|
virtual |
Definition at line 32 of file BDSFieldQueryRaw.cc.
|
protectedvirtual |
Do the opposite for this class as it's only used for the interpolator and we want fieldObject to be specified.
Reimplemented from BDSFieldQuery.
Definition at line 55 of file BDSFieldQueryRaw.cc.
References BDSFieldQueryInfo::fieldObject.
|
protectedvirtual |
Get the electric and magnetic field at the specified coordinates. The navigator requires a direction for safe hierarchy searching. The output is written to array argument, where the values are Bx,By,Bz,Ex,Ey,Ez as in Geant4.
Reimplemented from BDSFieldQuery.
Definition at line 42 of file BDSFieldQueryRaw.cc.
References field.
|
privatevirtual |
Query the field in the Geant4 model according to information in query.
Ensure field transform navigator is in a completely clean state.
Reimplemented from BDSFieldQuery.
Definition at line 49 of file BDSFieldQuery.cc.
Referenced by QueryFieldRaw().
void BDSFieldQueryRaw::QueryFieldRaw | ( | G4Field * | field, |
const BDSFieldQueryInfo * | query | ||
) |
Query the field in the Geant4 model according to information in query.
Definition at line 35 of file BDSFieldQueryRaw.cc.
References field, and QueryField().
|
private |
Make regular interface private and unusable for this version of the class.
Definition at line 51 of file BDSFieldQuery.cc.
|
private |
The field object to query.
Definition at line 67 of file BDSFieldQueryRaw.hh.
Referenced by GetFieldValue(), and QueryFieldRaw().