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

Wrapper class of BDSFieldQuery that accumulates values for visualisation. More...

#include <BDSFieldQueryForVis.hh>

Inheritance diagram for BDSFieldQueryForVis:
Inheritance graph
Collaboration diagram for BDSFieldQueryForVis:
Collaboration graph

Public Member Functions

const std::vector< std::array< G4double, 9 > > Values () const
 
G4double MaxFieldE () const
 
G4double MaxFieldB () const
 
virtual void QueryField (const BDSFieldQueryInfo *query)
 Reserve the vector size we need first, then proceed as normal. Avoids big copies.
 
virtual void CleanUp ()
 Call the base class method and also clear the vector of values in this class.
 
virtual void OpenFiles (const BDSFieldQueryInfo *)
 Replace with empty implementation so no file handling is done for visualisation.
 
virtual void WriteHeader (std::ofstream &, const BDSFieldQueryInfo *) const
 Replace with empty implementation so no file handling is done for visualisation.
 
virtual void CloseFiles ()
 Replace with empty implementation so no file handling is done for visualisation.
 
virtual void WriteFieldValue (const G4ThreeVector &, G4double, const G4double[6])
 Replace with empty implementation so no file handling is done for visualisation.
 
virtual void PrintBAndEInfo (const BDSFieldQueryInfo *) const
 Replace with empty implementation so no file handling is done for visualisation.
 
- 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.
 

Static Public Member Functions

static G4double SimpleMag (G4double x, G4double y, G4double z)
 Calculate magnitude of 3-vector without having to construct one.
 
- Static Public Member Functions inherited from BDSFieldQuery
static void AttachWorldVolumeToNavigator (G4VPhysicalVolume *worldPVIn)
 Setup the navigator w.r.t. to a world volume.
 

Protected Member Functions

virtual void GetFieldValue (const G4ThreeVector &globalXYZ, const G4ThreeVector &globalDirection, G4double tGlobal, G4double fieldValue[6])
 Call base class method but make a copy of the global position and fields in this class.
 
- Protected Member Functions inherited from BDSFieldQuery
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 Attributes

std::vector< std::array< G4double, 9 > > values
 
G4double maxFieldB
 
G4double maxFieldE
 
G4bool drawZeroValuePoints
 

Detailed Description

Wrapper class of BDSFieldQuery that accumulates values for visualisation.

Author
Laurie Nevay

Definition at line 37 of file BDSFieldQueryForVis.hh.

Constructor & Destructor Documentation

◆ BDSFieldQueryForVis()

BDSFieldQueryForVis::BDSFieldQueryForVis ( )

Definition at line 32 of file BDSFieldQueryForVis.cc.

◆ ~BDSFieldQueryForVis()

BDSFieldQueryForVis::~BDSFieldQueryForVis ( )
virtual

Definition at line 38 of file BDSFieldQueryForVis.cc.

Member Function Documentation

◆ CleanUp()

void BDSFieldQueryForVis::CleanUp ( )
virtual

Call the base class method and also clear the vector of values in this class.

Reimplemented from BDSFieldQuery.

Definition at line 41 of file BDSFieldQueryForVis.cc.

References BDSFieldQuery::CleanUp().

Here is the call graph for this function:

◆ CloseFiles()

virtual void BDSFieldQueryForVis::CloseFiles ( )
inlinevirtual

Replace with empty implementation so no file handling is done for visualisation.

Reimplemented from BDSFieldQuery.

Definition at line 59 of file BDSFieldQueryForVis.hh.

◆ GetFieldValue()

void BDSFieldQueryForVis::GetFieldValue ( const G4ThreeVector &  globalXYZ,
const G4ThreeVector &  globalDirection,
G4double  tGlobal,
G4double  fieldValue[6] 
)
protectedvirtual

Call base class method but make a copy of the global position and fields in this class.

Reimplemented from BDSFieldQuery.

Definition at line 57 of file BDSFieldQueryForVis.cc.

References BDSFieldQuery::GetFieldValue(), and SimpleMag().

Here is the call graph for this function:

◆ MaxFieldB()

G4double BDSFieldQueryForVis::MaxFieldB ( ) const
inline

Definition at line 45 of file BDSFieldQueryForVis.hh.

◆ MaxFieldE()

G4double BDSFieldQueryForVis::MaxFieldE ( ) const
inline

Definition at line 44 of file BDSFieldQueryForVis.hh.

◆ OpenFiles()

virtual void BDSFieldQueryForVis::OpenFiles ( const BDSFieldQueryInfo )
inlinevirtual

Replace with empty implementation so no file handling is done for visualisation.

Reimplemented from BDSFieldQuery.

Definition at line 57 of file BDSFieldQueryForVis.hh.

◆ PrintBAndEInfo()

virtual void BDSFieldQueryForVis::PrintBAndEInfo ( const BDSFieldQueryInfo ) const
inlinevirtual

Replace with empty implementation so no file handling is done for visualisation.

Reimplemented from BDSFieldQuery.

Definition at line 63 of file BDSFieldQueryForVis.hh.

◆ QueryField()

void BDSFieldQueryForVis::QueryField ( const BDSFieldQueryInfo query)
virtual

Reserve the vector size we need first, then proceed as normal. Avoids big copies.

Reimplemented from BDSFieldQuery.

Definition at line 49 of file BDSFieldQueryForVis.cc.

References BDSFieldQuery::QueryField().

Here is the call graph for this function:

◆ SimpleMag()

G4double BDSFieldQueryForVis::SimpleMag ( G4double  x,
G4double  y,
G4double  z 
)
static

Calculate magnitude of 3-vector without having to construct one.

Definition at line 74 of file BDSFieldQueryForVis.cc.

Referenced by GetFieldValue().

Here is the caller graph for this function:

◆ Values()

const std::vector< std::array< G4double, 9 > > BDSFieldQueryForVis::Values ( ) const
inline

Definition at line 43 of file BDSFieldQueryForVis.hh.

◆ WriteFieldValue()

virtual void BDSFieldQueryForVis::WriteFieldValue ( const G4ThreeVector &  ,
G4double  ,
const  G4double[6] 
)
inlinevirtual

Replace with empty implementation so no file handling is done for visualisation.

Reimplemented from BDSFieldQuery.

Definition at line 60 of file BDSFieldQueryForVis.hh.

◆ WriteHeader()

virtual void BDSFieldQueryForVis::WriteHeader ( std::ofstream &  ,
const BDSFieldQueryInfo  
) const
inlinevirtual

Replace with empty implementation so no file handling is done for visualisation.

Reimplemented from BDSFieldQuery.

Definition at line 58 of file BDSFieldQueryForVis.hh.

Field Documentation

◆ drawZeroValuePoints

G4bool BDSFieldQueryForVis::drawZeroValuePoints
private

Definition at line 77 of file BDSFieldQueryForVis.hh.

◆ maxFieldB

G4double BDSFieldQueryForVis::maxFieldB
private

Definition at line 75 of file BDSFieldQueryForVis.hh.

◆ maxFieldE

G4double BDSFieldQueryForVis::maxFieldE
private

Definition at line 76 of file BDSFieldQueryForVis.hh.

◆ values

std::vector<std::array<G4double, 9> > BDSFieldQueryForVis::values
private

Definition at line 74 of file BDSFieldQueryForVis.hh.


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