BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions
BDSComponentConstructor Class Referenceabstract

Interface class the developer should derive to construct their element. More...

#include <BDSComponentConstructor.hh>

Collaboration diagram for BDSComponentConstructor:
Collaboration graph

Public Member Functions

virtual BDSAcceleratorComponentConstruct (GMAD::Element const *elementIn, GMAD::Element const *prevElementIn, GMAD::Element const *nextElementIn, const BDSBeamlineIntegral &integral)=0
 

Detailed Description

Interface class the developer should derive to construct their element.

One BDSComponentConstructor per one class that inherits BDSAcceleratorComponent.

When creating a custom beam line component that inherits BDSAcceleratorComponent, the developer should also create a class that inherits this one. This will implement the one pure virtual method Construct() that will specify how to construct their component from the parser element class (GMAD::Element) provided by the parser.

Author
Laurie Nevay

Definition at line 42 of file BDSComponentConstructor.hh.

Constructor & Destructor Documentation

◆ BDSComponentConstructor()

BDSComponentConstructor::BDSComponentConstructor ( )
inline

Definition at line 45 of file BDSComponentConstructor.hh.

◆ ~BDSComponentConstructor()

virtual BDSComponentConstructor::~BDSComponentConstructor ( )
inlinevirtual

Definition at line 46 of file BDSComponentConstructor.hh.

Member Function Documentation

◆ Construct()

virtual BDSAcceleratorComponent * BDSComponentConstructor::Construct ( GMAD::Element const *  elementIn,
GMAD::Element const *  prevElementIn,
GMAD::Element const *  nextElementIn,
const BDSBeamlineIntegral integral 
)
pure virtual

Construct an instance of the user implement component. You get access to the previous current and next elements from the parser in case of angled faces etc. The current cumulative arc length allows calculation of the phase with respect to the beginning of the beam line. The developer need not use all of the supplied parameters in their implementation.


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