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

Crystal class for parser. More...

#include <crystal.h>

Inheritance diagram for GMAD::Crystal:
Inheritance graph
Collaboration diagram for GMAD::Crystal:
Collaboration graph

Public Member Functions

 Crystal ()
 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< Crystal >
bool NameExists (const std::string &name) const
 
Published< Crystal >::template AttributeMap< T > & attribute_map () const
 

Data Fields

std::string name
 Name of object. More...
 
std::string material
 Material of crystal. More...
 
std::string data
 Which channelling data to use. More...
 
std::string shape
 Which geometry to create. More...
 
double lengthX
 X size. More...
 
double lengthY
 Y size. More...
 
double lengthZ
 Z size. More...
 
double sizeA
 
double sizeB
 
double sizeC
 
double alpha
 
double beta
 
double gamma
 
int spaceGroup
 
double bendingAngleYAxis
 Bending angle about Y axis. More...
 
double bendingAngleZAxis
 Bending angle about Z axis. More...
 
double miscutAngleY
 

Private Member Functions

void PublishMembers ()
 publish members More...
 

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. More...
 
- 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. More...
 
void set (Crystal *instance, const Crystal *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 Crystal *instance, const std::string &name) const
 Get method for class C. More...
 
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)
 

Detailed Description

Crystal class for parser.

Author
Laurie Nevay

Definition at line 36 of file crystal.h.

Constructor & Destructor Documentation

◆ Crystal()

Crystal::Crystal ( )

Constructor.

Definition at line 23 of file crystal.cc.

References clear(), and PublishMembers().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

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

Here is the caller graph for this function:

◆ print()

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.

◆ PublishMembers()

void Crystal::PublishMembers ( )
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().

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

◆ set_value()

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

Set methods by property name and value.

Definition at line 73 of file crystal.h.

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

Here is the call graph for this function:

Field Documentation

◆ alpha

double GMAD::Crystal::alpha

Definition at line 49 of file crystal.h.

◆ bendingAngleYAxis

double GMAD::Crystal::bendingAngleYAxis

Bending angle about Y axis.

Definition at line 53 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ bendingAngleZAxis

double GMAD::Crystal::bendingAngleZAxis

Bending angle about Z axis.

Definition at line 54 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ beta

double GMAD::Crystal::beta

Definition at line 50 of file crystal.h.

◆ data

std::string GMAD::Crystal::data

Which channelling data to use.

Definition at line 41 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ gamma

double GMAD::Crystal::gamma

Definition at line 51 of file crystal.h.

◆ lengthX

double GMAD::Crystal::lengthX

X size.

Definition at line 43 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ lengthY

double GMAD::Crystal::lengthY

Y size.

Definition at line 44 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ lengthZ

double GMAD::Crystal::lengthZ

Z size.

Definition at line 45 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ material

std::string GMAD::Crystal::material

Material of crystal.

Definition at line 40 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ miscutAngleY

double GMAD::Crystal::miscutAngleY

Definition at line 55 of file crystal.h.

◆ name

std::string GMAD::Crystal::name

Name of object.

Definition at line 39 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ shape

std::string GMAD::Crystal::shape

Which geometry to create.

Definition at line 42 of file crystal.h.

Referenced by clear(), print(), and PublishMembers().

◆ sizeA

double GMAD::Crystal::sizeA

Definition at line 46 of file crystal.h.

◆ sizeB

double GMAD::Crystal::sizeB

Definition at line 47 of file crystal.h.

◆ sizeC

double GMAD::Crystal::sizeC

Definition at line 48 of file crystal.h.

◆ spaceGroup

int GMAD::Crystal::spaceGroup

Definition at line 52 of file crystal.h.


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