LDMX Software
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
simcore::MagneticFieldStore Class Reference

Global store to access magnetic field objects. More...

#include <MagneticFieldStore.h>

Public Types

typedef std::map< std::string, G4MagneticField * > MagFieldMap
 Map of names to magnetic fields.
 

Public Member Functions

 ~MagneticFieldStore ()
 Destructor.
 
G4MagneticField * getMagneticField (const std::string &name)
 Get a magnetic field by name.
 
void addMagneticField (const std::string &name, G4MagneticField *magField)
 Add a magnetic field by name.
 

Static Public Member Functions

static MagneticFieldStoregetInstance ()
 Get the global instance of the magnetic field store.
 

Private Attributes

MagFieldMap magFields_
 Map of names to magnetic fields.
 

Detailed Description

Global store to access magnetic field objects.

Definition at line 19 of file MagneticFieldStore.h.

Member Typedef Documentation

◆ MagFieldMap

typedef std::map<std::string, G4MagneticField*> simcore::MagneticFieldStore::MagFieldMap

Map of names to magnetic fields.

Definition at line 24 of file MagneticFieldStore.h.

Constructor & Destructor Documentation

◆ ~MagneticFieldStore()

simcore::MagneticFieldStore::~MagneticFieldStore ( )
inline

Destructor.

Cleans up all stored G4MagneticFields

Definition at line 40 of file MagneticFieldStore.h.

40 {
41 for (auto& nameField : magFields_) {
42 delete nameField.second;
43 }
44 magFields_.clear();
45 }
MagFieldMap magFields_
Map of names to magnetic fields.

References magFields_.

Member Function Documentation

◆ addMagneticField()

void simcore::MagneticFieldStore::addMagneticField ( const std::string &  name,
G4MagneticField *  magField 
)
inline

Add a magnetic field by name.

Parameters
nameThe name of the magnetic field.
magFieldThe magnetic field definition.

Definition at line 60 of file MagneticFieldStore.h.

60 {
61 magFields_[name] = magField;
62 }

References magFields_.

Referenced by simcore::geo::AuxInfoReader::createMagneticField().

◆ getInstance()

static MagneticFieldStore * simcore::MagneticFieldStore::getInstance ( )
inlinestatic

Get the global instance of the magnetic field store.

Returns
The magnetic field store.

Definition at line 30 of file MagneticFieldStore.h.

30 {
31 static MagneticFieldStore INSTANCE;
32 return &INSTANCE;
33 }

Referenced by simcore::geo::AuxInfoReader::assignAuxInfoToVolumes(), and simcore::geo::AuxInfoReader::createMagneticField().

◆ getMagneticField()

G4MagneticField * simcore::MagneticFieldStore::getMagneticField ( const std::string &  name)
inline

Get a magnetic field by name.

Parameters
nameThe name of the magnetic field.

Definition at line 51 of file MagneticFieldStore.h.

51 {
52 return magFields_.at(name);
53 }

References magFields_.

Referenced by simcore::geo::AuxInfoReader::assignAuxInfoToVolumes().

Member Data Documentation

◆ magFields_

MagFieldMap simcore::MagneticFieldStore::magFields_
private

Map of names to magnetic fields.

Definition at line 68 of file MagneticFieldStore.h.

Referenced by addMagneticField(), getMagneticField(), and ~MagneticFieldStore().


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