CFEL - ASG Software Suite  2.5.0
CASS
Public Member Functions | Private Attributes | List of all members
cass::ACQIRIS::Particle Class Reference

A Particle. More...

#include <particle.h>

+ Collaboration diagram for cass::ACQIRIS::Particle:

Public Member Functions

 Particle ()
 constructor More...
 
void loadSettings (CASSSettings &s)
 load the settings from .ini file More...
 
particleHits_thits ()
 retrieve the particle hits More...
 
void associate (DelaylineDetector *detector)
 tell which are the detector hits to search through More...
 
const Spectrometerspectrometer () 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...
 

Detailed Description

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.

User definable Parameters:

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:

Author
Lutz Foucar

Definition at line 70 of file particle.h.

Constructor & Destructor Documentation

cass::ACQIRIS::Particle::Particle ( )
inline

constructor

set the _listIsCreated flag to false

Definition at line 77 of file particle.h.

Member Function Documentation

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.

Parameters
detectorpointer to the detector containing this particle

Definition at line 323 of file particle.cpp.

References detector.

double cass::ACQIRIS::Particle::charge_au ( ) const
inline
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.

Returns
the list of particle hits

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.

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

double cass::ACQIRIS::Particle::mass_au ( ) const
inline
const Spectrometer& cass::ACQIRIS::Particle::spectrometer ( ) const
inline

Member Data Documentation

std::tr1::shared_ptr<MomentumCalculator> cass::ACQIRIS::Particle::_calc_detplane
private

calculate momenta along the detector plane of a particle hit

Definition at line 140 of file particle.h.

std::tr1::shared_ptr<MomentumCalculator> cass::ACQIRIS::Particle::_calc_tof
private

calculate momenta along the ToF direction of a particle hit

Definition at line 143 of file particle.h.

double cass::ACQIRIS::Particle::_charge_au
private

the charge of this Particle in atomic units

Definition at line 155 of file particle.h.

Referenced by charge_au().

HitCorrector cass::ACQIRIS::Particle::_copyandcorrect
private

copy and correction of the detectorhit

Definition at line 146 of file particle.h.

DelaylineDetector* cass::ACQIRIS::Particle::_detector
private

pointer to the delayline detector that conatins this particle

Definition at line 131 of file particle.h.

std::tr1::shared_ptr<IsParticleHit> cass::ACQIRIS::Particle::_isParticleHit
private

identifer for checking detectorhit is a particle hit

Definition at line 137 of file particle.h.

bool cass::ACQIRIS::Particle::_listIsCreated
private

flag to tell whether we already created the list of particle hits

Definition at line 134 of file particle.h.

double cass::ACQIRIS::Particle::_mass_au
private

the Mass of this Particle in atomic units

Definition at line 152 of file particle.h.

Referenced by mass_au().

particleHits_t cass::ACQIRIS::Particle::_particlehits
private

the list of particle hits

Definition at line 128 of file particle.h.

Spectrometer cass::ACQIRIS::Particle::_spectrometer
private

the spectrometer of this particle

Definition at line 149 of file particle.h.

Referenced by spectrometer().


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