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

Placement class for laser. More...

#include <laser.h>

Inheritance diagram for GMAD::Laser:
Inheritance graph
Collaboration diagram for GMAD::Laser:
Collaboration graph

Public Member Functions

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

Data Fields

std::string name
 Name of this laser.
 
double wavelength {}
 
double m2 {}
 
double pulseEnergy {}
 
double pulseDuration {}
 
double w0 {}
 
double sigma0 {}
 
double laserArrivalTime {}
 
double laserPolarization1 {}
 
double laserPolarization2 {}
 
double laserPolarization3 {}
 
bool ignoreRayleighRange {}
 

Private Member Functions

void PublishMembers ()
 publish members
 

Additional Inherited Members

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

Detailed Description

Placement class for laser.

Author
Siobhan Alden

Definition at line 35 of file laser.h.

Constructor & Destructor Documentation

◆ Laser()

Laser::Laser ( )

constructor

Definition at line 23 of file laser.cc.

References clear(), and PublishMembers().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void Laser::clear ( )

reset

Definition at line 29 of file laser.cc.

References name.

Referenced by Laser().

Here is the caller graph for this function:

◆ print()

void Laser::print ( ) const

print some properties

Definition at line 61 of file laser.cc.

References name.

◆ PublishMembers()

void Laser::PublishMembers ( )
private

publish members

Definition at line 45 of file laser.cc.

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

Referenced by Laser().

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

◆ set_value()

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

set methods by property name and value

Definition at line 68 of file laser.h.

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

Here is the call graph for this function:

Field Documentation

◆ ignoreRayleighRange

bool GMAD::Laser::ignoreRayleighRange {}

Definition at line 49 of file laser.h.

◆ laserArrivalTime

double GMAD::Laser::laserArrivalTime {}

Definition at line 45 of file laser.h.

◆ laserPolarization1

double GMAD::Laser::laserPolarization1 {}

Definition at line 46 of file laser.h.

◆ laserPolarization2

double GMAD::Laser::laserPolarization2 {}

Definition at line 47 of file laser.h.

◆ laserPolarization3

double GMAD::Laser::laserPolarization3 {}

Definition at line 48 of file laser.h.

◆ m2

double GMAD::Laser::m2 {}

Definition at line 40 of file laser.h.

◆ name

std::string GMAD::Laser::name

Name of this laser.

Definition at line 38 of file laser.h.

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

◆ pulseDuration

double GMAD::Laser::pulseDuration {}

Definition at line 42 of file laser.h.

◆ pulseEnergy

double GMAD::Laser::pulseEnergy {}

Definition at line 41 of file laser.h.

◆ sigma0

double GMAD::Laser::sigma0 {}

Definition at line 44 of file laser.h.

◆ w0

double GMAD::Laser::w0 {}

Definition at line 43 of file laser.h.

◆ wavelength

double GMAD::Laser::wavelength {}

Definition at line 39 of file laser.h.


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