|
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. | |
Public Member Functions inherited from GMAD::Published< Crystal > | |
| 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 | |
Protected Types inherited from GMAD::Published< Crystal > | |
| using | AttributeMap = typename std::unordered_map< std::string, T C::* > |
| Define AttributeMap of string and class member pointer. | |
Protected Member Functions inherited from GMAD::Published< Crystal > | |
| 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().