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

Atom class. More...

#include <atom.h>

Inheritance diagram for GMAD::Atom:
Inheritance graph
Collaboration diagram for GMAD::Atom:
Collaboration graph

Public Member Functions

 Atom ()
 constructor More...
 
void clear ()
 reset More...
 
void print () const
 printout 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< Atom >
bool NameExists (const std::string &name) const
 
Published< Atom >::template AttributeMap< T > & attribute_map () const
 

Data Fields

std::string name
 name More...
 
double A
 g*mol^-1 More...
 
double Z
 
std::string symbol
 

Private Member Functions

void PublishMembers ()
 publish members so these can be looked up from parser More...
 

Additional Inherited Members

- Protected Types inherited from GMAD::Published< Atom >
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< Atom >
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 (Atom *instance, const Atom *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 Atom *instance, const std::string &name) const
 Get method for class C. More...
 
void set (Atom *instance, const std::string &name, double value)
 
void set (Atom *instance, const std::string &name, GMAD::Array *const &value)
 
void set (Atom *instance, const std::string &name, const T &value)
 

Detailed Description

Atom class.

Author
Jochem Snuverink

Definition at line 36 of file atom.h.

Constructor & Destructor Documentation

◆ Atom()

Atom::Atom ( )

constructor

Definition at line 23 of file atom.cc.

References clear(), and PublishMembers().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void Atom::clear ( )

reset

Definition at line 29 of file atom.cc.

References A, and name.

Referenced by Atom().

Here is the caller graph for this function:

◆ print()

void Atom::print ( ) const

printout

Definition at line 45 of file atom.cc.

References A, and name.

◆ PublishMembers()

void Atom::PublishMembers ( )
private

publish members so these can be looked up from parser

Definition at line 37 of file atom.cc.

References A, name, and GMAD::Published< Atom >::publish().

Referenced by Atom().

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

◆ set_value()

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

set methods by property name and value

Definition at line 60 of file atom.h.

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

Here is the call graph for this function:

Field Documentation

◆ A

double GMAD::Atom::A

g*mol^-1

Definition at line 40 of file atom.h.

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

◆ name

std::string GMAD::Atom::name

name

Definition at line 38 of file atom.h.

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

◆ symbol

std::string GMAD::Atom::symbol

Definition at line 42 of file atom.h.

◆ Z

double GMAD::Atom::Z

Definition at line 41 of file atom.h.


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