CFEL - ASG Software Suite
2.5.0
CASS
|
#include <particle.h>
Public Member Functions | |
Particle () | |
constructor More... | |
void | loadSettings (CASSSettings &s) |
load the settings from .ini file More... | |
particleHits_t & | hits () |
retrieve the particle hits More... | |
void | associate (DelaylineDetector *detector) |
tell which are the detector hits to search through More... | |
const Spectrometer & | spectrometer () const |
retrive the spectormeter More... | |
double | mass_au () const |
retrieve the particle properties More... | |
double | charge_au () const |
retrieve the particle properties More... | |
Private Attributes | |
particleHits_t | _particlehits |
the list of particle hits More... | |
DelaylineDetector * | _detector |
pointer to the delayline detector that conatins this particle More... | |
bool | _listIsCreated |
flag to tell whether we already created the list of particle hits More... | |
std::tr1::shared_ptr< IsParticleHit > | _isParticleHit |
identifer for checking detectorhit is a particle hit More... | |
std::tr1::shared_ptr< MomentumCalculator > | _calc_detplane |
calculate momenta along the detector plane of a particle hit More... | |
std::tr1::shared_ptr< MomentumCalculator > | _calc_tof |
calculate momenta along the ToF direction of a particle hit More... | |
HitCorrector | _copyandcorrect |
copy and correction of the detectorhit More... | |
Spectrometer | _spectrometer |
the spectrometer of this particle More... | |
double | _mass_au |
the Mass of this Particle in atomic units More... | |
double | _charge_au |
the charge of this Particle in atomic units More... | |
A Particle.
class describing a particle. It contains the properties of a particle, classes that can calculate the momentum of the particle. Therefore it also contains the spectrometer through which the particle flys and a class that can correct the values from the detectorhit. To find out which of the provided detectorhits are a particle hit of this particle it owns a comparator class.
AcqirisDetectors/%detectorname%/Particles/%particlename%/{Charge}
The charge of the particle in atomic units. Default is 1.
AcqirisDetectors/%detectorname%/%particlename%/{Mass}
The Mass of the particle in atomic mass units. When one wants to define a electron the charge has to be -1 and the Mass 1. Default is 1.
AcqirisDetectors/%detectorname%/Particles/%particlename%/{Spectrometer}
The Spectrometer that the Particles fly through. See cass::ACQIRIS::Spectrometer
AcqirisDetectors/%detectorname%/Particles/%particlename%/{Corrections}
The corrections that one has to do to the raw values of a hit in order to convert the hit values to momentum. See cass::ACQIRIS::HitCorrector
AcqirisDetectors/%detectorname%/Particles/%particlename%/{ConditionType}
The type of condition that we use to identify a particle hit from a detectorhit. Default is 0. Possible choises are:
Definition at line 70 of file particle.h.
|
inline |
void Particle::associate | ( | DelaylineDetector * | detector | ) |
tell which are the detector hits to search through
after telling us which detectohit list to go through to search for particle hits, this resets the _listIsCreated flag and clears the _particlehits container.
detector | pointer to the detector containing this particle |
Definition at line 323 of file particle.cpp.
References detector.
|
inline |
retrieve the particle properties
Definition at line 123 of file particle.h.
References _charge_au.
Referenced by cass::ACQIRIS::Spectrometer::loadSettings(), cass::ACQIRIS::PzCalculatorDirectOneRegion::operator()(), and cass::ACQIRIS::PzCalculatorMulitpleRegions::operator()().
particleHits_t & Particle::hits | ( | ) |
retrieve the particle hits
goes through the detectorhits and checks whether the hit is a particle of our type. Then calculates the momenta in kartesian and polarcoordinates and puts the new hit into the list. Then returns the list. When the former is already done once, just return the list.
Definition at line 296 of file particle.cpp.
References cass::ACQIRIS::e_au, cass::ACQIRIS::e_eV, hit, cass::ACQIRIS::kartesian2polar(), and cass::ACQIRIS::roh.
void Particle::loadSettings | ( | CASSSettings & | s | ) |
load the settings from .ini file
First load the spectrometers settings, then the hitcorrector settings. Then load our properties. Then create the comaprison object that the user has chosen and load its settings. After that depending on the spectrometer type load the momentum calculation objects. The mass is always converted from atomic mass units to atomic units. Only if the mass is 1 and the charge is -1 (this is true for an electron) the conversion will be omited.
s | the CASSSettings object to read the info from |
Definition at line 274 of file particle.cpp.
References cass::ACQIRIS::IsParticleHit::instance(), cass::ACQIRIS::MomentumCalculator::instance(), cass::ACQIRIS::MomentumCalculator::PxPyWBField, cass::ACQIRIS::MomentumCalculator::PxPyWOBField, cass::ACQIRIS::MomentumCalculator::PzMultipleRegions, cass::ACQIRIS::MomentumCalculator::PzOneRegion, cass::ACQIRIS::IsParticleHit::tofcond, and QSettings::value().
|
inline |
retrieve the particle properties
Definition at line 122 of file particle.h.
References _mass_au.
Referenced by cass::ACQIRIS::getDetPlaneMomenta(), cass::ACQIRIS::Spectrometer::loadSettings(), cass::ACQIRIS::PxPyCalculatorWithoutBField::operator()(), cass::ACQIRIS::PzCalculatorDirectOneRegion::operator()(), and cass::ACQIRIS::PzCalculatorMulitpleRegions::operator()().
|
inline |
retrive the spectormeter
Definition at line 118 of file particle.h.
References _spectrometer.
Referenced by cass::ACQIRIS::getDetPlaneMomenta(), cass::ACQIRIS::PzCalculatorDirectOneRegion::operator()(), and cass::ACQIRIS::PzCalculatorMulitpleRegions::operator()().
|
private |
calculate momenta along the detector plane of a particle hit
Definition at line 140 of file particle.h.
|
private |
calculate momenta along the ToF direction of a particle hit
Definition at line 143 of file particle.h.
|
private |
the charge of this Particle in atomic units
Definition at line 155 of file particle.h.
Referenced by charge_au().
|
private |
copy and correction of the detectorhit
Definition at line 146 of file particle.h.
|
private |
pointer to the delayline detector that conatins this particle
Definition at line 131 of file particle.h.
|
private |
identifer for checking detectorhit is a particle hit
Definition at line 137 of file particle.h.
|
private |
flag to tell whether we already created the list of particle hits
Definition at line 134 of file particle.h.
|
private |
the Mass of this Particle in atomic units
Definition at line 152 of file particle.h.
Referenced by mass_au().
|
private |
the list of particle hits
Definition at line 128 of file particle.h.
|
private |
the spectrometer of this particle
Definition at line 149 of file particle.h.
Referenced by spectrometer().