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

Achims resort routine wrapper. More...

#include <achimsorter_hex.h>

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

Public Member Functions

 HexSorter ()
 constructor 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

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

- 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

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.

User definable Parameters:

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.

Author
Lutz Foucar

Definition at line 73 of file achimsorter_hex.h.

Constructor & Destructor Documentation

HexSorter::HexSorter ( )

constructor

creates and intitializes the achims routine

Definition at line 53 of file achimsorter_hex.cpp.

References _count, and _sorter.

Member Function Documentation

void HexSorter::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
Todo:
add the loading of the settings, make sure they are documented.
Todo:
check whether one can set the goup this way

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

detectorHits_t & HexSorter::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 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.

Member Data Documentation

std::pair<double,double> cass::ACQIRIS::HexSorter::_center
private

the center of the detector

Definition at line 135 of file achimsorter_hex.h.

Referenced by loadSettings(), and operator()().

std::vector<int32_t> cass::ACQIRIS::HexSorter::_count
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()().

std::vector<std::pair<SignalProducer*,std::vector<double> > > cass::ACQIRIS::HexSorter::_signals
private

container for tdc like arrays mapped to the corrosponding signalproducer

the order in the vector is as follows:

  • 0: mcp
  • 1: u1
  • 2: u2
  • 3: v1
  • 4: v2
  • 5: w1
  • 6: w2

Definition at line 113 of file achimsorter_hex.h.

Referenced by loadSettings(), and operator()().

std::tr1::shared_ptr<sort_class> cass::ACQIRIS::HexSorter::_sorter
private

the instance of Achims routine

Definition at line 116 of file achimsorter_hex.h.

Referenced by HexSorter(), loadSettings(), and operator()().

std::vector<double> cass::ACQIRIS::HexSorter::_timesums
private

the timesums

the timesums in this containers are layed out as follows:

  • 0: u layer
  • 1: v layer
  • 2: w layer

Definition at line 132 of file achimsorter_hex.h.

Referenced by loadSettings(), and operator()().

double cass::ACQIRIS::HexSorter::_wLayerOffset
private

the w-layer offset

Definition at line 138 of file achimsorter_hex.h.

Referenced by loadSettings(), and operator()().


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