CFEL - ASG Software Suite
2.5.0
CASS
|
a REMI type spectrometer More...
#include <spectrometer.h>
Public Types | |
typedef std::vector< SpectrometerRegion > | regions_t |
typef for better readable code More... | |
Public Member Functions | |
void | loadSettings (CASSSettings &s, const Particle &particle) |
load the settings from .ini file More... | |
const regions_t & | regions () const |
retrieve the regions of the spectrometer More... | |
double | cyclotronPeriod_ns () const |
retrieve magnetic field parameter More... | |
bool | BFieldIsOn () const |
retrieve magnetic field parameter More... | |
bool | rotationClockWise () const |
retrieve magnetic field parameter More... | |
Private Attributes | |
regions_t | _regions |
the regions of the spectrometer More... | |
bool | _BFieldIsOn |
flag to tell whether the magnetic field is turned on More... | |
double | _cyclotronPeriod |
the cyclotron frequency of the particles in ns More... | |
bool | _rotationClockwise |
flag showing the direction of the magnetic field More... | |
a REMI type spectrometer
class describes a remi type spectroemter that has one or more separeted regions. In the spectrometer a magenetic field can be present. In this case it is important to know in which direction the magnetic field is pointing and how strong it is. The latter can be measured by the cyclotron period of the electrons and the former by the rotation direction of the electrons.
AcqirisDetectors/%detectorname%/Particles/%particlename%/Spectrometer/{BFieldIsOn}
Flag to tell whether a magnetic field is present in the spectrometer. Default is false
AcqirisDetectors/%detectorname%/Particles/%particlename%/Spectrometer/{RotationClockwise}
Flag to tell in which direction the magentic field is pointing This can be told by telling in which way the electrons rotate. If they rotate clockwise this should be true. Default is true.
AcqirisDetectors/%detectorname%/Particles/%particlename%/Spectrometer/{CyclotronPeriode}
The time it takes for an electron to make a complete rotation in the magnetic field in ns. Default is 10
AcqirisDetectors/%detectorname%/Particles/%particlename%/Spectrometer/{Regions}
The groupname of the regions of a spectrometer. See cass::ACQIRIS::SpectrometerRegion
AcqirisDetectors/%detectorname%/Particles/%particlename%/Spectrometer/Regions/{Size}
The number of spectrometer regions available. Default is 0.
Definition at line 85 of file spectrometer.h.
typedef std::vector<SpectrometerRegion> cass::ACQIRIS::Spectrometer::regions_t |
typef for better readable code
Definition at line 89 of file spectrometer.h.
|
inline |
retrieve magnetic field parameter
Definition at line 107 of file spectrometer.h.
References _BFieldIsOn.
|
inline |
retrieve magnetic field parameter
Definition at line 106 of file spectrometer.h.
References _cyclotronPeriod.
Referenced by cass::ACQIRIS::getDetPlaneMomenta().
void Spectrometer::loadSettings | ( | CASSSettings & | s, |
const Particle & | particle | ||
) |
load the settings from .ini file
load all spectrometer regions from file before loading our own members. We need to convert the cyclotron period that is given by the user in electron periods to the period that this particle has. Therefore we need to multiply the period by the ratio of mass to charge of the particle.
s | the CASSSettings object to read the information from |
particle | the particle that this spectrometer belongs to |
Definition at line 19 of file spectrometer.cpp.
References _BFieldIsOn, _cyclotronPeriod, _regions, _rotationClockwise, QSettings::beginGroup(), QSettings::beginReadArray(), cass::ACQIRIS::Particle::charge_au(), QSettings::endArray(), QSettings::endGroup(), cass::ACQIRIS::SpectrometerRegion::loadSettings(), cass::ACQIRIS::Particle::mass_au(), QSettings::setArrayIndex(), size, and QSettings::value().
|
inline |
retrieve the regions of the spectrometer
Definition at line 112 of file spectrometer.h.
References _regions.
Referenced by cass::ACQIRIS::evalFunc(), cass::ACQIRIS::getZMomIter(), and cass::ACQIRIS::PzCalculatorDirectOneRegion::operator()().
|
inline |
retrieve magnetic field parameter
Definition at line 108 of file spectrometer.h.
References _rotationClockwise.
Referenced by cass::ACQIRIS::getDetPlaneMomenta().
|
private |
flag to tell whether the magnetic field is turned on
Definition at line 119 of file spectrometer.h.
Referenced by BFieldIsOn(), and loadSettings().
|
private |
the cyclotron frequency of the particles in ns
Definition at line 122 of file spectrometer.h.
Referenced by cyclotronPeriod_ns(), and loadSettings().
|
private |
the regions of the spectrometer
Definition at line 116 of file spectrometer.h.
Referenced by loadSettings(), and regions().
|
private |
flag showing the direction of the magnetic field
this is done by saying wether electrons turn clock or counterclockwise
Definition at line 128 of file spectrometer.h.
Referenced by loadSettings(), and rotationClockWise().