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

Simple sorter of hits from a Quadanode delayline detector. More...

#include <delayline_detector_analyzer_simple.h>

+ Inheritance diagram for cass::ACQIRIS::DelaylineDetectorAnalyzerSimple:
+ Collaboration diagram for cass::ACQIRIS::DelaylineDetectorAnalyzerSimple:

Public Member Functions

 DelaylineDetectorAnalyzerSimple ()
 constuctor More...
 
detectorHits_toperator() (detectorHits_t &hits)
 the function creating the detectorhit list More...
 
void loadSettings (CASSSettings &s, DelaylineDetector &d)
 load the detector analyzers settings from .ini file More...
 
- Public Member Functions inherited from cass::ACQIRIS::DetectorAnalyzerBackend
virtual ~DetectorAnalyzerBackend ()
 virtual destructor More...
 

Private Attributes

SignalProducer_mcp
 the mcp More...
 
std::pair< std::pair< SignalProducer *, SignalProducer * >, std::pair< SignalProducer *, SignalProducer * > > _layerCombination
 the layer combination More...
 
std::pair< std::pair< double, double >, std::pair< double, double > > _tsrange
 timesum ranges of the layers More...
 
std::pair< double, double > _ts
 timesums of the layers More...
 
std::pair< double, double > _sf
 the scalefactor for the two layers (convert ns -> mm) More...
 
double _runtime
 maximum runtime over the layers More...
 
double _mcpRadius
 maximum radius that det hits are allowed to be in, in ns More...
 
std::tr1::shared_ptr< PositionCalculator_poscalc
 the calculator to calc the position for the correlated wireend signals More...
 

Additional Inherited Members

- Public Types inherited from cass::ACQIRIS::DetectorAnalyzerBackend
typedef std::tr1::shared_ptr< DetectorAnalyzerBackendshared_pointer
 typedef this as a shared pointer More...
 
- Static Public Member Functions inherited from cass::ACQIRIS::DetectorAnalyzerBackend
static shared_pointer instance (const DetectorAnalyzerType &type)
 create an instance of the right analyzer type More...
 

Detailed Description

Simple sorter of hits from a Quadanode delayline detector.

Do a simple sorting by checking the timesum for each MCP Signal that was identified. This is done for only one pair of anode layers.

User definable Parameters:

AcqirisDetectors/%detectorname%/Simple/{Runtime}
maximum time a signal will run over the complete delayline. Default is 150.

AcqirisDetectors/%detectorname%/Simple/{McpRadius}
Radius of the MCP in mm. Default is 88

AcqirisDetectors/%detectorname%/Simple/{LayersToUse}
Layers that should be used for sorting. Default is 0. Possible choises are:

  • 0: Layers X and Y (Quad Anode)
  • 1: Layers U and V (Hex Anode)
  • 2: Layers U and W (Hex Anode)
  • 3: Layers V and W (Hex Anode)

AcqirisDetectors/%detectorname%/Simple/{TimesumFirstLayerLow|TimesumFirstLayerHigh}
the timesum condition range for the first layer. Default is 0 | 200

AcqirisDetectors/%detectorname%/Simple/{TimesumSecondLayerLow|TimesumSecondLayerHigh}
the timesum condition range for the second layer. Default is 0 | 200

AcqirisDetectors/%detectorname%/Simple/{ScalefactorFirstLayer|ScalefactorSecondLayer}
the scalefactors that convert ns to mm for the two layers. Default is 0.4 | 0.4

Author
Lutz Foucar

Definition at line 55 of file delayline_detector_analyzer_simple.h.

Constructor & Destructor Documentation

cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::DelaylineDetectorAnalyzerSimple ( )
inline

constuctor

Definition at line 60 of file delayline_detector_analyzer_simple.h.

Member Function Documentation

void DelaylineDetectorAnalyzerSimple::loadSettings ( CASSSettings s,
DelaylineDetector d 
)
virtual

load the detector analyzers settings from .ini file

retrieve all necessary information to be able to sort the signals of the detector to detector hits. Also retrieve the signal producers of the layers whos signals we should sort.

Parameters
sthe CASSSetting object
dthe detector object that we are belonging to

Implements cass::ACQIRIS::DetectorAnalyzerBackend.

Definition at line 190 of file delayline_detector_analyzer_simple.cpp.

References QSettings::beginGroup(), QSettings::endGroup(), cass::ACQIRIS::Hex, cass::ACQIRIS::DelaylineDetector::layers(), cass::ACQIRIS::TofDetector::mcp(), cass::ACQIRIS::Quad, and QSettings::value().

detectorHits_t & DelaylineDetectorAnalyzerSimple::operator() ( detectorHits_t hits)
virtual

the function creating the detectorhit list

Returns
reference to the hit container
Parameters
hitsthe hitcontainer

Implements cass::ACQIRIS::DetectorAnalyzerBackend.

Definition at line 109 of file delayline_detector_analyzer_simple.cpp.

References cass::fuzzyIsNull(), cass::ACQIRIS::getSignalRange(), hit, hits, cass::ACQIRIS::isUsed, cass::ACQIRIS::NbrDetectorHitDefinitions, cass::ACQIRIS::t, cass::ACQIRIS::time, cass::ACQIRIS::x, and cass::ACQIRIS::y.

Member Data Documentation

std::pair<std::pair<SignalProducer *,SignalProducer *> , std::pair<SignalProducer *,SignalProducer *> > cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_layerCombination
private

the layer combination

Definition at line 89 of file delayline_detector_analyzer_simple.h.

SignalProducer* cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_mcp
private

the mcp

Definition at line 85 of file delayline_detector_analyzer_simple.h.

double cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_mcpRadius
private

maximum radius that det hits are allowed to be in, in ns

Definition at line 105 of file delayline_detector_analyzer_simple.h.

std::tr1::shared_ptr<PositionCalculator> cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_poscalc
private

the calculator to calc the position for the correlated wireend signals

Definition at line 108 of file delayline_detector_analyzer_simple.h.

double cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_runtime
private

maximum runtime over the layers

Definition at line 102 of file delayline_detector_analyzer_simple.h.

std::pair<double,double> cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_sf
private

the scalefactor for the two layers (convert ns -> mm)

Definition at line 99 of file delayline_detector_analyzer_simple.h.

std::pair<double,double> cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_ts
private

timesums of the layers

Definition at line 96 of file delayline_detector_analyzer_simple.h.

std::pair<std::pair<double, double>, std::pair<double, double> > cass::ACQIRIS::DelaylineDetectorAnalyzerSimple::_tsrange
private

timesum ranges of the layers

Definition at line 93 of file delayline_detector_analyzer_simple.h.


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