BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Interface to create any RF cavity geometry. More...
#include <BDSCavityFactory.hh>
Public Member Functions | |
~BDSCavityFactory () | |
BDSCavity * | CreateCavity (const G4String &name, G4double totalChordLength, const BDSCavityInfo *info, G4Material *vacuumMaterial) |
Main function to create a piece of cavity geometry. | |
Static Public Member Functions | |
static BDSCavityFactory * | Instance () |
Singleton accessor. | |
Private Member Functions | |
BDSCavityFactory () | |
Private constructor as singleton pattern. | |
BDSCavityFactoryBase * | GetAppropriateFactory (const BDSCavityType cavityType) |
BDSCavityFactory (const BDSCavityFactory &)=delete | |
Unused default constructors. | |
BDSCavityFactory & | operator= (const BDSCavityFactory &)=delete |
Unused default constructors. | |
Private Attributes | |
BDSCavityFactoryElliptical * | elliptical |
Point to factory this main interface owns. | |
BDSCavityFactoryRectangular * | rectangular |
Point to factory this main interface owns. | |
BDSCavityFactoryPillBox * | pillBox |
Point to factory this main interface owns. | |
Static Private Attributes | |
static BDSCavityFactory * | instance = nullptr |
Singleton instance. | |
Interface to create any RF cavity geometry.
Definition at line 42 of file BDSCavityFactory.hh.
BDSCavityFactory::~BDSCavityFactory | ( | ) |
Reset static singleton instance to nullptr and delete the singleton factories for different beam pipe styles. Delete them here as they should only be accessed through this class.
Definition at line 45 of file BDSCavityFactory.cc.
References elliptical, instance, pillBox, and rectangular.
|
private |
Private constructor as singleton pattern.
Definition at line 39 of file BDSCavityFactory.cc.
Referenced by Instance().
BDSCavity * BDSCavityFactory::CreateCavity | ( | const G4String & | name, |
G4double | totalChordLength, | ||
const BDSCavityInfo * | info, | ||
G4Material * | vacuumMaterial | ||
) |
Main function to create a piece of cavity geometry.
Definition at line 70 of file BDSCavityFactory.cc.
References BDSCavityInfo::cavityType, and BDSCavityFactoryBase::CreateCavity().
Referenced by BDSCavityElement::Build().
|
private |
Definition at line 53 of file BDSCavityFactory.cc.
|
static |
Singleton accessor.
Definition at line 32 of file BDSCavityFactory.cc.
References BDSCavityFactory(), and instance.
Referenced by BDSCavityElement::Build(), BDSIM::~BDSIM(), and BDSIMLink::~BDSIMLink().
|
private |
Point to factory this main interface owns.
Definition at line 71 of file BDSCavityFactory.hh.
Referenced by ~BDSCavityFactory().
|
staticprivate |
Singleton instance.
Definition at line 61 of file BDSCavityFactory.hh.
Referenced by Instance(), and ~BDSCavityFactory().
|
private |
Point to factory this main interface owns.
Definition at line 73 of file BDSCavityFactory.hh.
Referenced by ~BDSCavityFactory().
|
private |
Point to factory this main interface owns.
Definition at line 72 of file BDSCavityFactory.hh.
Referenced by ~BDSCavityFactory().