CbmRoot
|
#include <CbmPsdUnpackAlgo.h>
Public Member Functions | |
CbmPsdUnpackAlgo () | |
Create the Cbm Trd Unpack AlgoBase object. | |
virtual | ~CbmPsdUnpackAlgo () |
Destroy the Cbm Trd Unpack Task object. | |
CbmPsdUnpackAlgo (const CbmPsdUnpackAlgo &)=delete | |
Copy constructor - not implemented. | |
CbmPsdUnpackAlgo & | operator= (const CbmPsdUnpackAlgo &)=delete |
Assignment operator - not implemented. | |
virtual std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > * | GetParContainerRequest (std::string geoTag, std::uint32_t runId) |
Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to. | |
Protected Member Functions | |
void | finish () |
Finish function for this algorithm base clase. | |
virtual void | finishDerived () |
Function that allows special calls during Finish in the derived algos. | |
Int_t | getAddress (size_t channel) |
Get channel address. | |
double | getMipCalibration (uint8_t channel) |
Energy calibration constants. | |
virtual Bool_t | init () |
Intialisation at begin of run. Special inits of the derived algos. | |
void | makeDigi (CbmPsdDsp dsp) |
Create a digi object from the signal. | |
Bool_t | initParSet (FairParGenericSet *parset) |
Handles the distribution of the hidden derived classes to their explicit functions. | |
Bool_t | initParSet (CbmMcbm2018PsdPar *parset) |
Handles the distribution of the hidden derived classes to their explicit functions. | |
bool | unpack (const fles::Timeslice *ts, std::uint16_t icomp, UInt_t imslice) |
Unpack a given microslice. To be implemented in the derived unpacker algos. | |
Protected Attributes | |
UInt_t | fuRawDataVersion = 0 |
std::map< UInt_t, UInt_t > | fGdpbIdIndexMap = {} |
std::vector< Bool_t > | fvbMaskedComponents = {} |
gDPB ID to index map | |
UInt_t | fuNrOfGbtx = 0 |
Detector Mapping. | |
UInt_t | fuNrOfModules = 0 |
std::vector< Int_t > | fviPsdChUId = {} |
std::vector< Int_t > | fChannelAddress = {} |
std::vector< double > | fMipCalibration = {} |
Double_t | fdTimeOffsetNs = 0.0 |
User settings: Data correction parameters. | |
Static Protected Attributes | |
static const Int_t | kiMaxNbFlibLinks = 32 |
Constants. | |
static const UInt_t | kuBytesPerMessage = 8 |
static const UInt_t | kuDetMask = 0x0001FFFF |
Definition at line 38 of file CbmPsdUnpackAlgo.h.
CbmPsdUnpackAlgo::CbmPsdUnpackAlgo | ( | ) |
Create the Cbm Trd Unpack AlgoBase object.
Definition at line 22 of file CbmPsdUnpackAlgo.cxx.
|
virtual |
Destroy the Cbm Trd Unpack Task object.
Definition at line 325 of file CbmPsdUnpackAlgo.cxx.
|
delete |
Copy constructor - not implemented.
|
inlineprotected |
Finish function for this algorithm base clase.
Definition at line 67 of file CbmPsdUnpackAlgo.h.
References finishDerived().
|
inlineprotectedvirtual |
Function that allows special calls during Finish in the derived algos.
Definition at line 75 of file CbmPsdUnpackAlgo.h.
Referenced by finish().
|
protected |
Get channel address.
channel | Channel index |
Definition at line 25 of file CbmPsdUnpackAlgo.cxx.
References fChannelAddress.
|
protected |
Energy calibration constants.
channel | Channel number |
Definition at line 33 of file CbmPsdUnpackAlgo.cxx.
References fMipCalibration.
Referenced by unpack().
|
virtual |
Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to.
[in] | std::string | geoTag as used in CbmSetup |
[in] | std::uint32_t | runId for runwise defined parameters |
Definition at line 42 of file CbmPsdUnpackAlgo.cxx.
|
protectedvirtual |
Intialisation at begin of run. Special inits of the derived algos.
Bool_t | initOk |
Definition at line 56 of file CbmPsdUnpackAlgo.cxx.
|
protected |
Handles the distribution of the hidden derived classes to their explicit functions.
parset |
Definition at line 72 of file CbmPsdUnpackAlgo.cxx.
References fGdpbIdIndexMap, fMipCalibration, fuNrOfGbtx, fuRawDataVersion, fviPsdChUId, CbmPsdAddress::GetAddress(), CbmMcbm2018PsdPar::GetDataVersion(), CbmMcbm2018PsdPar::GetGdpbId(), CbmMcbm2018PsdPar::GetMipCalibration(), CbmMcbm2018PsdPar::GetNrOfChannelsPerFee(), CbmMcbm2018PsdPar::GetNrOfFeesPerGdpb(), CbmMcbm2018PsdPar::GetNrOfGbtx(), CbmMcbm2018PsdPar::GetNrOfGdpbs(), CbmMcbm2018PsdPar::GetNrOfModules(), and CbmMcbm2018PsdPar::GetNrOfSections().
|
protected |
Handles the distribution of the hidden derived classes to their explicit functions.
parset |
Definition at line 59 of file CbmPsdUnpackAlgo.cxx.
References initParSet().
Referenced by initParSet().
|
protected |
Create a digi object from the signal.
dsp | Signal object |
Definition at line 123 of file CbmPsdUnpackAlgo.cxx.
References CbmPsdDsp::GetAddress(), CbmPsdDsp::GetEdep(), and CbmPsdDsp::GetTime().
Referenced by unpack().
|
delete |
Assignment operator - not implemented.
|
protected |
Unpack a given microslice. To be implemented in the derived unpacker algos.
ts | timeslice pointer |
icomp | index to the component to be unpacked |
imslice | index of the microslice to be unpacked |
Check if this sDPB ID was declared in parameter file and stop there if not
Try to get it from the second message in buffer (first is epoch cycle without gDPB ID) TODO!!!!
Save start time of first valid MS
Energy deposition from FPGA [MeV]
ZeroLevel from waveform [adc counts]
FPGA FEE Accumulator
Adc time of measurement
Energy deposition from waveform [MeV]
Amplitude from waveform [mV]
Minimum of waveform [adc samples]
Time of maximum in waveform [adc samples]
Amplitude from fit of waveform [mV]
ZeroLevel from fit of waveform [adc counts]
Energy deposition from fit of waveform [MeV]
Quality of waveform fit [] – good near 0
Time of maximum in fit of waveform [adc samples]
Definition at line 136 of file CbmPsdUnpackAlgo.cxx.
References PsdSignalFitting::PronyFitter::CalculateFitAmplitudes(), PsdSignalFitting::PronyFitter::ChooseBestSignalBegin(), fdTimeOffsetNs, fGdpbIdIndexMap, fvbMaskedComponents, fviPsdChUId, PsdSignalFitting::PronyFitter::GetFitWfm(), PsdSignalFitting::PronyFitter::GetIntegral(), PsdSignalFitting::PronyFitter::GetMaxAmplitude(), getMipCalibration(), PsdSignalFitting::PronyFitter::GetRSquare(), PsdSignalFitting::PronyFitter::GetSignalMaxTime(), PsdDataV100::PsdGbtReader::GetTotalGbtWordsRead(), PsdSignalFitting::PronyFitter::GetZeroLevel(), PsdDataV100::PsdGbtReader::HitHdr, kuBytesPerMessage, makeDigi(), PsdDataV100::PsdGbtReader::PrintOut(), PsdDataV100::PsdGbtReader::ReadMs(), PsdSignalFitting::PronyFitter::SetDebugMode(), PsdSignalFitting::PronyFitter::SetExternalHarmonics(), PsdDataV100::PsdGbtReader::SetPrintOutMode(), PsdSignalFitting::PronyFitter::SetSignalBegin(), PsdSignalFitting::PronyFitter::SetWaveform(), PsdDataV100::PsdHitHeader::uHitChannel, PsdDataV100::PsdHitHeader::uWfmWords, PsdDataV100::PsdGbtReader::VectHitData, PsdDataV100::PsdGbtReader::VectHitHdr, and PsdDataV100::PsdGbtReader::VectPackHdr.
|
protected |
Definition at line 144 of file CbmPsdUnpackAlgo.h.
Referenced by getAddress().
|
protected |
User settings: Data correction parameters.
Definition at line 150 of file CbmPsdUnpackAlgo.h.
Referenced by unpack().
|
protected |
Raw data versioning Readout chain dimensions and mapping
Definition at line 133 of file CbmPsdUnpackAlgo.h.
Referenced by initParSet(), and unpack().
|
protected |
Definition at line 147 of file CbmPsdUnpackAlgo.h.
Referenced by getMipCalibration(), and initParSet().
|
protected |
|
protected |
Definition at line 139 of file CbmPsdUnpackAlgo.h.
|
protected |
Definition at line 131 of file CbmPsdUnpackAlgo.h.
Referenced by initParSet().
|
protected |
|
protected |
Definition at line 140 of file CbmPsdUnpackAlgo.h.
Referenced by initParSet(), and unpack().
|
staticprotected |
Constants.
Definition at line 153 of file CbmPsdUnpackAlgo.h.
|
staticprotected |
Definition at line 154 of file CbmPsdUnpackAlgo.h.
Referenced by unpack().
|
staticprotected |
Definition at line 155 of file CbmPsdUnpackAlgo.h.