BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Attributes
BDSCavityFactory Class Reference

Interface to create any RF cavity geometry. More...

#include <BDSCavityFactory.hh>

Collaboration diagram for BDSCavityFactory:
Collaboration graph

Public Member Functions

 ~BDSCavityFactory ()
 
BDSCavityCreateCavity (const G4String &name, G4double totalChordLength, const BDSCavityInfo *info, G4Material *vacuumMaterial)
 Main function to create a piece of cavity geometry. More...
 

Static Public Member Functions

static BDSCavityFactoryInstance ()
 Singleton accessor. More...
 

Private Member Functions

 BDSCavityFactory ()
 Private constructor as singleton pattern. More...
 
BDSCavityFactoryBaseGetAppropriateFactory (const BDSCavityType cavityType)
 
 BDSCavityFactory (const BDSCavityFactory &)=delete
 Unused default constructors.
 
BDSCavityFactoryoperator= (const BDSCavityFactory &)=delete
 Unused default constructors.
 

Private Attributes

BDSCavityFactoryEllipticalelliptical
 Point to factory this main interface owns. More...
 
BDSCavityFactoryRectangularrectangular
 Point to factory this main interface owns. More...
 
BDSCavityFactoryPillBoxpillBox
 Point to factory this main interface owns. More...
 

Static Private Attributes

static BDSCavityFactoryinstance = nullptr
 Singleton instance. More...
 

Detailed Description

Interface to create any RF cavity geometry.

Author
Laurie Nevay

Definition at line 42 of file BDSCavityFactory.hh.

Constructor & Destructor Documentation

◆ ~BDSCavityFactory()

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.

◆ BDSCavityFactory()

BDSCavityFactory::BDSCavityFactory ( )
private

Private constructor as singleton pattern.

Definition at line 39 of file BDSCavityFactory.cc.

Referenced by Instance().

Here is the caller graph for this function:

Member Function Documentation

◆ CreateCavity()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAppropriateFactory()

BDSCavityFactoryBase * BDSCavityFactory::GetAppropriateFactory ( const BDSCavityType  cavityType)
private

Definition at line 53 of file BDSCavityFactory.cc.

◆ Instance()

BDSCavityFactory * BDSCavityFactory::Instance ( )
static

Singleton accessor.

Definition at line 32 of file BDSCavityFactory.cc.

References BDSCavityFactory(), and instance.

Referenced by BDSCavityElement::Build(), BDSIM::~BDSIM(), and BDSIMLink::~BDSIMLink().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ elliptical

BDSCavityFactoryElliptical* BDSCavityFactory::elliptical
private

Point to factory this main interface owns.

Definition at line 71 of file BDSCavityFactory.hh.

Referenced by ~BDSCavityFactory().

◆ instance

BDSCavityFactory * BDSCavityFactory::instance = nullptr
staticprivate

Singleton instance.

Definition at line 61 of file BDSCavityFactory.hh.

Referenced by Instance(), and ~BDSCavityFactory().

◆ pillBox

BDSCavityFactoryPillBox* BDSCavityFactory::pillBox
private

Point to factory this main interface owns.

Definition at line 73 of file BDSCavityFactory.hh.

Referenced by ~BDSCavityFactory().

◆ rectangular

BDSCavityFactoryRectangular* BDSCavityFactory::rectangular
private

Point to factory this main interface owns.

Definition at line 72 of file BDSCavityFactory.hh.

Referenced by ~BDSCavityFactory().


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