BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Crystal class for parser. More...
#include <crystal.h>
Public Member Functions | |
Crystal () | |
Constructor. | |
void | clear () |
Reset. | |
void | print () const |
Print some properties. | |
template<typename T > | |
void | set_value (std::string property, T value) |
Set methods by property name and value. | |
![]() | |
bool | NameExists (const std::string &name) const |
Published< Crystal >::template AttributeMap< T > & | attribute_map () const |
Data Fields | |
std::string | name |
Name of object. | |
std::string | material |
Material of crystal. | |
std::string | data |
Which channelling data to use. | |
std::string | shape |
Which geometry to create. | |
double | lengthX |
X size. | |
double | lengthY |
Y size. | |
double | lengthZ |
Z size. | |
double | sizeA |
double | sizeB |
double | sizeC |
double | alpha |
double | beta |
double | gamma |
int | spaceGroup |
double | bendingAngleYAxis |
Bending angle about Y axis. | |
double | bendingAngleZAxis |
Bending angle about Z axis. | |
double | miscutAngleY |
Private Member Functions | |
void | PublishMembers () |
publish members | |
Additional Inherited Members | |
![]() | |
using | AttributeMap = typename std::unordered_map< std::string, T C::* > |
Define AttributeMap of string and class member pointer. | |
![]() | |
void | publish (const std::string &name, T C::*mp) |
Make pointer to member from class C and type T with accessible with a name. | |
void | set (Crystal *instance, const Crystal *instance2, const std::string &name) |
Set member with name of class instance to value of second instance. | |
AttributeMap< T > & | attribute_map () const |
Access method to static map for type T and class C. | |
T | get (const Crystal *instance, const std::string &name) const |
Get method for class C. | |
void | set (Crystal *instance, const std::string &name, double value) |
void | set (Crystal *instance, const std::string &name, GMAD::Array *const &value) |
void | set (Crystal *instance, const std::string &name, const T &value) |
Crystal::Crystal | ( | ) |
Constructor.
Definition at line 23 of file crystal.cc.
References clear(), and PublishMembers().
void Crystal::clear | ( | ) |
Reset.
Definition at line 29 of file crystal.cc.
References bendingAngleYAxis, bendingAngleZAxis, data, lengthX, lengthY, lengthZ, material, name, and shape.
Referenced by Crystal().
void Crystal::print | ( | ) | const |
Print some properties.
Definition at line 71 of file crystal.cc.
References bendingAngleYAxis, bendingAngleZAxis, data, lengthX, lengthY, lengthZ, material, name, and shape.
|
private |
publish members
Definition at line 50 of file crystal.cc.
References bendingAngleYAxis, bendingAngleZAxis, data, lengthX, lengthY, lengthZ, material, name, GMAD::Published< Crystal >::publish(), and shape.
Referenced by Crystal().
void GMAD::Crystal::set_value | ( | std::string | property, |
T | value | ||
) |
Set methods by property name and value.
Definition at line 73 of file crystal.h.
References GMAD::Published< Crystal >::set().
double GMAD::Crystal::bendingAngleYAxis |
Bending angle about Y axis.
Definition at line 53 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().
double GMAD::Crystal::bendingAngleZAxis |
Bending angle about Z axis.
Definition at line 54 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().
std::string GMAD::Crystal::data |
Which channelling data to use.
Definition at line 41 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().
double GMAD::Crystal::lengthX |
X size.
Definition at line 43 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().
double GMAD::Crystal::lengthY |
Y size.
Definition at line 44 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().
double GMAD::Crystal::lengthZ |
Z size.
Definition at line 45 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().
std::string GMAD::Crystal::material |
std::string GMAD::Crystal::name |
Name of object.
Definition at line 39 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().
std::string GMAD::Crystal::shape |
Which geometry to create.
Definition at line 42 of file crystal.h.
Referenced by clear(), print(), and PublishMembers().