BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Attributes
BDSFieldQueryRaw Class Reference

Class for querying the a raw field object. More...

#include <BDSFieldQueryRaw.hh>

Inheritance diagram for BDSFieldQueryRaw:
Inheritance graph
Collaboration diagram for BDSFieldQueryRaw:
Collaboration graph

Public Member Functions

void QueryFieldRaw (G4Field *field, const BDSFieldQueryInfo *query)
 Query the field in the Geant4 model according to information in query.
 
- Public Member Functions inherited from BDSFieldQuery
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 Public Member Functions inherited from BDSFieldQuery
static void AttachWorldVolumeToNavigator (G4VPhysicalVolume *worldPVIn)
 Setup the navigator w.r.t. to a world volume.
 

Detailed Description

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.

Author
Laurie Nevay

Definition at line 38 of file BDSFieldQueryRaw.hh.

Constructor & Destructor Documentation

◆ BDSFieldQueryRaw()

BDSFieldQueryRaw::BDSFieldQueryRaw ( )

Definition at line 28 of file BDSFieldQueryRaw.cc.

◆ ~BDSFieldQueryRaw()

BDSFieldQueryRaw::~BDSFieldQueryRaw ( )
virtual

Definition at line 32 of file BDSFieldQueryRaw.cc.

Member Function Documentation

◆ CheckIfFieldObjectSpecified()

void BDSFieldQueryRaw::CheckIfFieldObjectSpecified ( const BDSFieldQueryInfo query) const
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.

◆ GetFieldValue()

void BDSFieldQueryRaw::GetFieldValue ( const G4ThreeVector &  globalXYZ,
const G4ThreeVector &  globalDirection,
G4double  tGlobal,
G4double  fieldValue[6] 
)
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.

◆ QueryField()

void BDSFieldQuery::QueryField ( const BDSFieldQueryInfo query)
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().

Here is the caller graph for this function:

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

Here is the call graph for this function:

◆ QueryFields()

void BDSFieldQuery::QueryFields ( const std::vector< BDSFieldQueryInfo * > &  fieldQueries)
private

Make regular interface private and unusable for this version of the class.

Definition at line 51 of file BDSFieldQuery.cc.

Field Documentation

◆ field

G4Field* BDSFieldQueryRaw::field
private

The field object to query.

Definition at line 67 of file BDSFieldQueryRaw.hh.

Referenced by GetFieldValue(), and QueryFieldRaw().


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