BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Data Fields | Private Member Functions
GMAD::BLMPlacement Class Reference

blm for parser. More...

#include <blmplacement.h>

Inheritance diagram for GMAD::BLMPlacement:
Inheritance graph
Collaboration diagram for GMAD::BLMPlacement:
Collaboration graph

Public Member Functions

 BLMPlacement ()
 constructor More...
 
void clear ()
 reset More...
 
void print () const
 print some properties More...
 
template<typename T >
void set_value (std::string property, T value)
 set methods by property name and value More...
 
- Public Member Functions inherited from GMAD::Published< BLMPlacement >
bool NameExists (const std::string &name) const
 
Published< BLMPlacement >::template AttributeMap< T > & attribute_map () const
 

Data Fields

std::string name
 Name of this samplerplacement. More...
 
std::string referenceElement
 Name of reference element w.r.t. to place to. More...
 
int referenceElementNumber
 Index of repetition of element if there are multiple uses. More...
 
double s
 Curvilinear s position to place w.r.t.. More...
 
double x
 Offset in x. More...
 
double y
 Offset in y. More...
 
double z
 
bool axisAngle
 Flag to use the axis angle construction of rotation. More...
 
std::string side
 which side to attach to: top, bottom, left, right. More...
 
double sideOffset
 Offset between the geometry and the BLM. More...
 
std::string geometryFile
 
std::string geometryType
 
std::string blmMaterial
 
double blm1
 
double blm2
 
double blm3
 
double blm4
 
std::string scoreQuantity
 
std::string bias
 
double phi
 Euler angle for rotation. More...
 
double theta
 Euler angle for rotation. More...
 
double psi
 Euler angle for rotation. More...
 
double axisX
 
double axisY
 
double axisZ
 
double angle
 

Private Member Functions

void PublishMembers ()
 publish members More...
 

Additional Inherited Members

- Protected Types inherited from GMAD::Published< BLMPlacement >
using AttributeMap = typename std::unordered_map< std::string, T C::* >
 Define AttributeMap of string and class member pointer. More...
 
- Protected Member Functions inherited from GMAD::Published< BLMPlacement >
void publish (const std::string &name, T C::*mp)
 Make pointer to member from class C and type T with accessible with a name. More...
 
void set (BLMPlacement *instance, const BLMPlacement *instance2, const std::string &name)
 Set member with name of class instance to value of second instance. More...
 
AttributeMap< T > & attribute_map () const
 Access method to static map for type T and class C.
 
get (const BLMPlacement *instance, const std::string &name) const
 Get method for class C. More...
 
void set (BLMPlacement *instance, const std::string &name, double value)
 
void set (BLMPlacement *instance, const std::string &name, GMAD::Array *const &value)
 
void set (BLMPlacement *instance, const std::string &name, const T &value)
 

Detailed Description

blm for parser.

This has to be called something other than "BLM" because the parser can't distinguish between the class name and the token "BLM".

Author
Laurie Nevay

Definition at line 38 of file blmplacement.h.

Constructor & Destructor Documentation

◆ BLMPlacement()

BLMPlacement::BLMPlacement ( )

constructor

Definition at line 23 of file blmplacement.cc.

References clear(), and PublishMembers().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void BLMPlacement::clear ( )

reset

Definition at line 29 of file blmplacement.cc.

References angle, axisAngle, axisX, axisY, axisZ, name, phi, psi, referenceElement, referenceElementNumber, s, side, sideOffset, theta, x, y, and z.

Referenced by BLMPlacement().

Here is the caller graph for this function:

◆ print()

void BLMPlacement::print ( ) const

print some properties

Definition at line 91 of file blmplacement.cc.

References angle, axisAngle, axisX, axisY, axisZ, name, phi, psi, referenceElement, referenceElementNumber, s, side, sideOffset, theta, x, y, and z.

◆ PublishMembers()

void BLMPlacement::PublishMembers ( )
private

publish members

Definition at line 60 of file blmplacement.cc.

References angle, axisAngle, axisX, axisY, axisZ, name, phi, psi, GMAD::Published< BLMPlacement >::publish(), referenceElement, referenceElementNumber, s, side, sideOffset, theta, x, y, and z.

Referenced by BLMPlacement().

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

◆ set_value()

template<typename T >
void GMAD::BLMPlacement::set_value ( std::string  property,
value 
)

set methods by property name and value

Definition at line 89 of file blmplacement.h.

References GMAD::Published< BLMPlacement >::set().

Here is the call graph for this function:

Field Documentation

◆ angle

double GMAD::BLMPlacement::angle

Axis angle rotation.

Definition at line 57 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ axisAngle

bool GMAD::BLMPlacement::axisAngle

Flag to use the axis angle construction of rotation.

Definition at line 59 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ axisX

double GMAD::BLMPlacement::axisX

Axis angle rotation.

Definition at line 54 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ axisY

double GMAD::BLMPlacement::axisY

Axis angle rotation.

Definition at line 55 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ axisZ

double GMAD::BLMPlacement::axisZ

Axis angle rotation.

Definition at line 56 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ bias

std::string GMAD::BLMPlacement::bias

Definition at line 71 of file blmplacement.h.

◆ blm1

double GMAD::BLMPlacement::blm1

Definition at line 66 of file blmplacement.h.

◆ blm2

double GMAD::BLMPlacement::blm2

Definition at line 67 of file blmplacement.h.

◆ blm3

double GMAD::BLMPlacement::blm3

Definition at line 68 of file blmplacement.h.

◆ blm4

double GMAD::BLMPlacement::blm4

Definition at line 69 of file blmplacement.h.

◆ blmMaterial

std::string GMAD::BLMPlacement::blmMaterial

Definition at line 65 of file blmplacement.h.

◆ geometryFile

std::string GMAD::BLMPlacement::geometryFile

Definition at line 63 of file blmplacement.h.

◆ geometryType

std::string GMAD::BLMPlacement::geometryType

Definition at line 64 of file blmplacement.h.

◆ name

std::string GMAD::BLMPlacement::name

Name of this samplerplacement.

Definition at line 41 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ phi

double GMAD::BLMPlacement::phi

Euler angle for rotation.

Definition at line 49 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ psi

double GMAD::BLMPlacement::psi

Euler angle for rotation.

Definition at line 51 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ referenceElement

std::string GMAD::BLMPlacement::referenceElement

Name of reference element w.r.t. to place to.

Definition at line 42 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ referenceElementNumber

int GMAD::BLMPlacement::referenceElementNumber

Index of repetition of element if there are multiple uses.

Definition at line 43 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ s

double GMAD::BLMPlacement::s

Curvilinear s position to place w.r.t..

Definition at line 44 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ scoreQuantity

std::string GMAD::BLMPlacement::scoreQuantity

Definition at line 70 of file blmplacement.h.

◆ side

std::string GMAD::BLMPlacement::side

which side to attach to: top, bottom, left, right.

Definition at line 60 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ sideOffset

double GMAD::BLMPlacement::sideOffset

Offset between the geometry and the BLM.

Definition at line 61 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ theta

double GMAD::BLMPlacement::theta

Euler angle for rotation.

Definition at line 50 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ x

double GMAD::BLMPlacement::x

Offset in x.

Definition at line 45 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ y

double GMAD::BLMPlacement::y

Offset in y.

Definition at line 46 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().

◆ z

double GMAD::BLMPlacement::z

Offset in z.

Definition at line 47 of file blmplacement.h.

Referenced by clear(), GMAD::Placement::Placement(), print(), and PublishMembers().


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