CFEL - ASG Software Suite
2.5.0
CASS
|
Achims resort routine wrapper. More...
#include <achimsorter_hex.h>
Public Member Functions | |
HexSorter () | |
constructor More... | |
detectorHits_t & | operator() (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... | |
![]() | |
virtual | ~DetectorAnalyzerBackend () |
virtual destructor More... | |
Private Attributes | |
std::vector< std::pair< SignalProducer *, std::vector< double > > > | _signals |
container for tdc like arrays mapped to the corrosponding signalproducer More... | |
std::tr1::shared_ptr< sort_class > | _sorter |
the instance of Achims routine More... | |
std::vector< int32_t > | _count |
counter array for achims routine More... | |
std::vector< double > | _timesums |
the timesums More... | |
std::pair< double, double > | _center |
the center of the detector More... | |
double | _wLayerOffset |
the w-layer offset More... | |
Additional Inherited Members | |
![]() | |
typedef std::tr1::shared_ptr< DetectorAnalyzerBackend > | shared_pointer |
typedef this as a shared pointer More... | |
![]() | |
static shared_pointer | instance (const DetectorAnalyzerType &type) |
create an instance of the right analyzer type More... | |
Achims resort routine wrapper.
this class will use achims resort routine to calculate the detectorhits from the signals on the wireends and the mcp. It needs to be used closely together with PostProcessor 170 (cass::HexCalibrator) that will calculate parameters for full functionality of achims resort routine.
AcqirisDetectors/%detectorname%/HexSorting/{TimeSumU}
Center of the timesum of layer U. Default is 100.
AcqirisDetectors/%detectorname%/HexSorting/{TimeSumUWidth}
With at the base of timesum of layer U. Default is 0.
AcqirisDetectors/%detectorname%/HexSorting/{TimeSumV}
Center of the timesum of layer W. Default is 100.
AcqirisDetectors/%detectorname%/HexSorting/{TimeSumVWidth}
With at the base of timesum of layer U. Default is 0.
AcqirisDetectors/%detectorname%/HexSorting/{TimeSumW}
Center of the timesum of layer W. Default is 100.
AcqirisDetectors/%detectorname%/HexSorting/{TimeSumWWidth}
With at the base of timesum of layer U. Default is 0.
AcqirisDetectors/%detectorname%/HexSorting/{MaxRuntime}
the maximum time it takes a signal to get across the delayline wire. Default is 150.
AcqirisDetectors/%detectorname%/HexSorting/{DeadTimeAnode}
the deadtime betwenn 2 anode singals in ns. Default is 20.
AcqirisDetectors/%detectorname%/HexSorting/{DeadTimeMCP}
the deadtime between 2 mcp signals in ns. Default is 20.
AcqirisDetectors/%detectorname%/HexSorting/{MCPRadius}
The radius of the MCP in mm. Should be ~10 percent bigger that the actual value. Default is 88.
AcqirisDetectors/%detectorname%/HexSorting/{UseMCP}
use the mcp signal when reconstructing the detector hits. Default is 'true'
AcqirisDetectors/%detectorname%/HexSorting/{ScalefactorU}
Conversion factor to convert position from ns to mm. The scalefactors of the other two layers will be determined by the calibrator and written into the settingsfile (see parameter SettingsFilename)
AcqirisDetectors/%detectorname%/HexSorting/{CenterX|CenterY}
Center position of the detector image, if not centered around 0. Default is 0|0
AcqirisDetectors/%detectorname%/HexSorting/{SettingsFilename}
Name of the file that contains the advanced settings. This will be created by the PostProcessor that does the Hex calibration (pp170). See cass::HexCalibrator for descriptions of this PostProcessor.
Definition at line 73 of file achimsorter_hex.h.
HexSorter::HexSorter | ( | ) |
constructor
creates and intitializes the achims routine
Definition at line 53 of file achimsorter_hex.cpp.
|
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.
s | the CASSSetting object |
d | the detector object that we are belonging to |
Implements cass::ACQIRIS::DetectorAnalyzerBackend.
Definition at line 110 of file achimsorter_hex.cpp.
References _center, _signals, _sorter, _timesums, _wLayerOffset, QSettings::beginGroup(), QSettings::defaultFormat(), QString::fromStdString(), QSettings::group(), cass::ACQIRIS::DelaylineDetector::isHex(), cass::ACQIRIS::DelaylineDetector::layers(), cass::ACQIRIS::TofDetector::mcp(), cass::ACQIRIS::DetectorBackend::name(), size, cass::toString(), and QSettings::value().
|
virtual |
the function creating the detectorhit list
hits | the hitcontainer |
Implements cass::ACQIRIS::DetectorAnalyzerBackend.
Definition at line 79 of file achimsorter_hex.cpp.
References _center, _count, _signals, _sorter, _timesums, _wLayerOffset, cass::ACQIRIS::AchimHex::extactTimes(), hit, hits, cass::ACQIRIS::method, cass::ACQIRIS::NbrDetectorHitDefinitions, cass::ACQIRIS::t, cass::ACQIRIS::x, and cass::ACQIRIS::y.
|
private |
the center of the detector
Definition at line 135 of file achimsorter_hex.h.
Referenced by loadSettings(), and operator()().
|
private |
counter array for achims routine
this is used so that the routine knows how many signals are in each array
Definition at line 123 of file achimsorter_hex.h.
Referenced by HexSorter(), and operator()().
|
private |
container for tdc like arrays mapped to the corrosponding signalproducer
the order in the vector is as follows:
Definition at line 113 of file achimsorter_hex.h.
Referenced by loadSettings(), and operator()().
|
private |
the instance of Achims routine
Definition at line 116 of file achimsorter_hex.h.
Referenced by HexSorter(), loadSettings(), and operator()().
|
private |
the timesums
the timesums in this containers are layed out as follows:
Definition at line 132 of file achimsorter_hex.h.
Referenced by loadSettings(), and operator()().
|
private |
the w-layer offset
Definition at line 138 of file achimsorter_hex.h.
Referenced by loadSettings(), and operator()().