Electronic front-end for the modules. More...
#include "mdet/FrontEnd.h"
Classes | |
class | Sampler |
Encapsulates the sampling logic. More... | |
Public Types | |
typedef std::vector< int > | BrokenChannelContainer |
typedef ChannelGroup::ConstIterator | ChannelConstIterator |
Convenience typedef for const iterator over the contained mdet::Channel instances. More... | |
Public Member Functions | |
AddIdMessage (o) | |
ChannelConstIterator | ChannelsBegin () const |
Begin iterator over the contained channels. More... | |
ChannelConstIterator | ChannelsEnd () const |
End iterator over the contained channels. More... | |
const BrokenChannelContainer & | GetBrokenChannels () const |
List of broken channels. More... | |
unsigned int | GetBufferLength () const |
Number of bins of the buffer. More... | |
int | GetId () const |
The id of this component. More... | |
const VManager::IndexMap & | GetIdsMap () const |
The id identifying this component within its detector hierarhy. More... | |
ULong64_t | GetMask () const |
Size of the (cyclic) external memory buffer associated to each module. More... | |
double | GetMeanSampleRatePeriod () const |
Mean electronic sample rate period. More... | |
const Module & | GetModule () const |
The module to which this FrontEnd belongs. More... | |
unsigned int | GetPostT1BufferLength () const |
Number of bins of the post-T1 buffer. More... | |
unsigned int | GetPreT1BufferLength () const |
Number of bins of the (cyclic) pre-T1 buffer. More... | |
double | GetSampleRatePeriodJitter () const |
Electronic's jitter in sample rate. More... | |
Sampler | MakeSampler () const |
Create a new sampler object. More... | |
return o | str () |
Public Attributes | |
std::string | const |
Returns the message that identifies this component. More... | |
const DetectorUserData< C > & | const |
Retrieve the user custom data. More... | |
Static Public Attributes | |
static const char *const | kComponentId = MHierarchyInfo::kComponentsIds[2] |
static const char *const | kComponentName = MHierarchyInfo::kComponentsNames[2] |
Protected Member Functions | |
template<typename T , template< typename > class P> | |
T & | GetData (P< T > &d, const std::string &p) const |
Common utility function for configuration. More... | |
template<typename T > | |
T & | GetData (T &d, const std::string &p) const |
Common utility function for configuration. More... | |
void | Register (utl::VValidated &v) |
Register the field so as to allow handling it. More... | |
s<< " ]";}DetectorComponent(int i, const VManager::IndexMap &parentMap):fId(i), fIdsMap(parentMap){Init();}DetectorComponent(const int i):fId(i){Init();}virtual ~DetectorComponent(){}virtual void Update(const bool invalidateData, const bool){for(FieldsContainer::iterator i=fFields.begin(), e=fFields.end();i!=e;++i)(*i) -> | SetValid (false) |
Protected Attributes | |
template<typename T1 , typename T2 , template< typename, typename > class P> | |
T1 & | const |
Doubly-templated variation of common utility. More... | |
template<typename T > | |
T & | const |
Specialization for utl::Validated. More... | |
void | const |
Message that identifies the component. More... | |
s<< "id="<< GetId()<< " [";for(It i=GetIdsMap().begin(), e=GetIdsMap().end();i!=e;++i) s<< " "<< i-> first<< "="<< i-> | second |
Private Types | |
typedef MComponentGroup < FrontEnd, Channel, det::ParentCreator >::Type | ChannelGroup |
Type for the set of associated mdet::Channel. More... | |
Private Member Functions | |
FrontEnd (int fId, const det::VManager::IndexMap &parentMap, const Module &parent) | |
Constructs the electronic front-end. More... | |
const ChannelGroup & | GetChannels () const |
Retrieves the group of channels. More... | |
double | GetFalseRangeHiThreshold () const |
Hi end-point of the range where the voltage is taken as a false-value by the FPGA sampling process. More... | |
double | GetTrueRangeLowThreshold () const |
Low end-point of the range where the voltage is taken as a true-value by the FPGA sampling proccess. More... | |
void | Update (bool invalidateData, bool invalidateComponents) |
Forward to channels and to base-class. More... | |
~FrontEnd () | |
Destructor (!). More... | |
Private Attributes | |
utl::ShadowPtr < BrokenChannelContainer > | fBrokenChannels |
ChannelGroup | fChannels |
utl::Validated< int > | fExternalMemoryBufferLength |
utl::Validated< double > | fFalseRangeHiThreshold |
utl::Validated< double > | fMeanSampleRatePeriod |
const Module & | fModule |
utl::Validated< int > | fPostT1BufferLength |
utl::Validated< int > | fPreT1BufferLength |
utl::Validated< double > | fSampleRatePeriodJitter |
utl::Validated< double > | fTrueRangeLowThreshold |
Friends | |
template<class A1 , class A2 , class A3 , class A4 > | |
class | det::ComponentGroup |
See mdet::Counter. More... | |
class | Module |
Friendship to allow construction. Also access to channels (GetChannels). More... | |
class | utl::ShadowPtr< FrontEnd > |
Frienship to allow destruction. More... | |
Electronic front-end for the modules.
Multi-channel electronic device meant to register the signal that came out from each PMT pixel.
Definition at line 33 of file FrontEnd.h.
typedef std::vector<int> mdet::FrontEnd::BrokenChannelContainer |
Definition at line 75 of file FrontEnd.h.
typedef ChannelGroup::ConstIterator mdet::FrontEnd::ChannelConstIterator |
Convenience typedef for const iterator over the contained mdet::Channel instances.
Definition at line 80 of file FrontEnd.h.
|
private |
Type for the set of associated mdet::Channel.
Definition at line 40 of file FrontEnd.h.
|
private |
Constructs the electronic front-end.
fId | The identifier to be used. |
parentMap | The identifiers of the parent within the hierarchy. |
parent | The parent mdet::Module. |
A reference to the parent is kept in this class.
This method is kept private; creation of these objects is not meant to be performed by client code. See the related friendship declaration.
Definition at line 20 of file FrontEnd.cc.
|
inlineprivate |
Destructor (!).
Definition at line 229 of file FrontEnd.h.
|
inherited |
|
inline |
Begin iterator over the contained channels.
Definition at line 85 of file FrontEnd.h.
References fChannels.
Referenced by UnderGrdInjectorAG::UnderGrdInjector::Run(), and MDetectorTest::testComponentAssignment().
|
inline |
End iterator over the contained channels.
Definition at line 91 of file FrontEnd.h.
References fChannels.
Referenced by UnderGrdInjectorAG::UnderGrdInjector::Run(), and MDetectorTest::testComponentAssignment().
const FrontEnd::BrokenChannelContainer & mdet::FrontEnd::GetBrokenChannels | ( | ) | const |
List of broken channels.
Definition at line 95 of file FrontEnd.cc.
References fBrokenChannels.
Referenced by GetMask().
|
inline |
Number of bins of the buffer.
Definition at line 130 of file FrontEnd.h.
References GetPostT1BufferLength(), and GetPreT1BufferLength().
Referenced by MdPatternFinderAG::MdPatternFinder::FillChannelRecData(), MdMuonEstimatorAG::MdMuonEstimator::FillChannelsOn(), MdMuonCounterAG::MdMuonCounter::FillChannelsOn(), MdMuonEstimatorAG::MdMuonEstimator::GetTraceLength(), otoa::MD2ADST::MakeModule(), MdPileUpCorrecterAG::InhibitionStrategy::operator()(), and MdPileUpCorrecterAG::MdPileUpCorrecter::Run().
|
inlineprivate |
|
inlineprotectedinherited |
Common utility function for configuration.
Retrieves data from the provided (via this class' template parameter) Manager instance and goes on with initialization.
d | An object of type P<T> wrapping the real of type T. |
p | Property name. The template class P must provide:
|
This is fullfilled by, for instance, utl::ShadowPtr as P and built-in types for T.
Definition at line 191 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::d, and G4StationSimulatorOG::p.
Referenced by mdet::Channel::GetAbsoluteError(), mdet::BackEndSiPM::GetADCOffset(), mdet::BackEndSiPM::GetADCPar1(), mdet::BackEndSiPM::GetADCPar2(), mdet::BackEndSiPM::GetADCPar3(), mdet::BackEndSiPM::GetADCPar4(), mdet::BackEndSiPM::GetADCPar5(), mdet::BackEndSiPM::GetADCPar6(), mdet::BackEndSiPM::GetADCSaturationDown(), mdet::BackEndSiPM::GetADCSaturationUp(), mdet::Module::GetAreaKind(), mdet::Counter::GetAssociatedTankId(), mdet::Fiber::GetAttenuationAmplitudeA(), mdet::Fiber::GetAttenuationAmplitudeASiPM(), mdet::Fiber::GetAttenuationAmplitudeB(), mdet::Fiber::GetAttenuationAmplitudeBSiPM(), mdet::Fiber::GetAttenuationLengthA(), mdet::Fiber::GetAttenuationLengthASiPM(), mdet::Fiber::GetAttenuationLengthB(), mdet::Fiber::GetAttenuationLengthBSiPM(), mdet::Fiber::GetAttenuationReference(), mdet::Fiber::GetAttenuationReferenceEnergy(), mdet::Fiber::GetAttenuationReferenceThickness(), mdet::Module::GetBackgroundMuonsFlux(), mdet::FrontEndSiPM::GetBaseLineFluctuationHG(), mdet::FrontEndSiPM::GetBaseLineFluctuationLG(), mdet::Channel::GetDCGain(), mdet::Fiber::GetDecayTime(), mdet::Scintillator::GetDecayTime(), mdet::FrontEndSiPM::GetDelayBinaryADCMean(), mdet::FrontEndSiPM::GetDelayBinaryADCSigma(), mdet::FrontEndSiPM::GetDigitalBackGroundProbability(), mdet::FrontEndSiPM::GetDigitalBackGroundWidthMean(), mdet::FrontEndSiPM::GetDigitalBackGroundWidthStdDev(), mdet::ChannelSiPM::GetDiscriminatorGain(), mdet::ChannelSiPM::GetDiscriminatorHiLevel(), mdet::Channel::GetDiscriminatorHiLevel(), mdet::ChannelSiPM::GetDiscriminatorLowLevel(), mdet::Channel::GetDiscriminatorLowLevel(), mdet::ChannelSiPM::GetDiscriminatorThreshold(), mdet::ChannelSiPM::GetDiscriminatorTransitionTime(), mdet::Scintillator::GetEpsilon(), GetFalseRangeHiThreshold(), mdet::FrontEndSiPM::GetFalseRangeHiThreshold(), mdet::ChannelSiPM::GetFastShaperGain(), mdet::ChannelSiPM::GetFastShaperTime(), mdet::Channel::GetFeedbackResistance(), mdet::BackEndSiPM::GetFirstAdderOffset(), mdet::BackEndSiPM::GetFirstAdderPar1(), mdet::BackEndSiPM::GetFirstAdderPar2(), mdet::BackEndSiPM::GetFirstAdderPar3(), mdet::BackEndSiPM::GetFirstAdderPar4(), mdet::BackEndSiPM::GetFirstAdderPar5(), mdet::BackEndSiPM::GetFirstAdderSaturationDown(), mdet::BackEndSiPM::GetFirstAdderSaturationUp(), mdet::Scintillator::GetHeight(), mdet::Channel::GetHighCutoffFrequency(), mdet::BackEndSiPM::GetHighGainAmplifierAdjustmentFactor(), mdet::BackEndSiPM::GetHighGainAmplifierOffset(), mdet::BackEndSiPM::GetHighGainAmplifierPar1(), mdet::BackEndSiPM::GetHighGainAmplifierPar2(), mdet::BackEndSiPM::GetHighGainAmplifierPar3(), mdet::BackEndSiPM::GetHighGainAmplifierPar4(), mdet::BackEndSiPM::GetHighGainAmplifierPar5(), mdet::BackEndSiPM::GetHighGainAmplifierPar6(), mdet::BackEndSiPM::GetHighGainAmplifierPar7(), mdet::BackEndSiPM::GetHighGainAmplifierPar8(), mdet::BackEndSiPM::GetHighGainAmplifierPar9(), mdet::BackEndSiPM::GetHighGainAmplifierSaturationDown(), mdet::BackEndSiPM::GetHighGainAmplifierSaturationUp(), mdet::Channel::GetInitialIntervalLength(), mdet::Channel::GetInvertingInputResistance(), mdet::Channel::GetIterationsNumber(), mdet::Scintillator::GetLength(), mdet::Scintillator::GetLocalSoilDensity(), mdet::Channel::GetLowCutoffFrequency(), mdet::BackEndSiPM::GetLowGainAmplifierAdjustmentFactor(), mdet::BackEndSiPM::GetLowGainAmplifierOffset(), mdet::BackEndSiPM::GetLowGainAmplifierPar1(), mdet::BackEndSiPM::GetLowGainAmplifierPar2(), mdet::BackEndSiPM::GetLowGainAmplifierPar3(), mdet::BackEndSiPM::GetLowGainAmplifierPar4(), mdet::BackEndSiPM::GetLowGainAmplifierPar5(), mdet::BackEndSiPM::GetLowGainAmplifierPar6(), mdet::BackEndSiPM::GetLowGainAmplifierPar7(), mdet::BackEndSiPM::GetLowGainAmplifierPar8(), mdet::BackEndSiPM::GetLowGainAmplifierPar9(), mdet::BackEndSiPM::GetLowGainAmplifierSaturationDown(), mdet::BackEndSiPM::GetLowGainAmplifierSaturationUp(), mdet::Channel::GetMaxNumberOfErrors(), GetMeanSampleRatePeriod(), mdet::FrontEndSiPM::GetMeanSampleRatePeriod(), mdet::BackEndSiPM::GetNumberOfChannelsToGroup(), mdet::Fiber::GetNumericalAperture(), mdet::Fiber::GetOnManifoldLength(), mdet::Module::GetPhotoDetector(), mdet::FrontEndSiPM::GetPostT1BufferLength(), GetPostT1BufferLength(), mdet::ChannelSiPM::GetPreAmplifierGain(), mdet::ChannelSiPM::GetPreAmplifierTime(), mdet::FrontEndSiPM::GetPreT1BufferLength(), GetPreT1BufferLength(), mdet::SiPM::GetPulseAmplitude1Mean(), mdet::SiPM::GetPulseAmplitude1StdDev(), mdet::SiPM::GetPulseAmplitude2Mean(), mdet::SiPM::GetPulseAmplitude2StdDev(), mdet::SiPM::GetPulseAmplitude3Mean(), mdet::SiPM::GetPulseAmplitude3StdDev(), mdet::Pixel::GetPulseAmplitudeMean(), mdet::Pixel::GetPulseAmplitudeStdDev(), mdet::Pixel::GetPulseChargeMean(), mdet::Pixel::GetPulseChargeStdDev(), mdet::Pixel::GetPulseParametersCorrelation(), mdet::Pixel::GetPulseParametrization(), mdet::SiPM::GetPulseRelevantWidth(), mdet::Pixel::GetPulseRelevantWidth(), mdet::Pixel::GetPulseStdDevMean(), mdet::Pixel::GetPulseStdDevStdDev(), mdet::SiPM::GetPulseTime1Mean(), mdet::SiPM::GetPulseTime1StdDev(), mdet::SiPM::GetPulseTime2Mean(), mdet::SiPM::GetPulseTime2StdDev(), mdet::SiPM::GetPulseTime3Mean(), mdet::SiPM::GetPulseTime3StdDev(), mdet::SiPM::GetPulseTime4Mean(), mdet::SiPM::GetPulseTime4StdDev(), mdet::Fiber::GetRadius(), mdet::Fiber::GetRefractionIndex(), mdet::Channel::GetResponseTime(), GetSampleRatePeriodJitter(), mdet::FrontEndSiPM::GetSampleTimeADC(), mdet::BackEndSiPM::GetSecondAdderOffset(), mdet::BackEndSiPM::GetSecondAdderPar1(), mdet::BackEndSiPM::GetSecondAdderPar2(), mdet::BackEndSiPM::GetSecondAdderPar3(), mdet::BackEndSiPM::GetSecondAdderPar4(), mdet::BackEndSiPM::GetSecondAdderPar5(), mdet::BackEndSiPM::GetSecondAdderSaturationDown(), mdet::BackEndSiPM::GetSecondAdderSaturationUp(), mdet::Channel::GetSignalShiftMean(), mdet::Channel::GetSignalShiftStdDev(), mdet::BackEndSiPM::GetSimplifiedGainHG(), mdet::BackEndSiPM::GetSimplifiedGainLG(), mdet::BackEndSiPM::GetSimplifiedTime(), mdet::Channel::GetSlewRate(), mdet::FrontEndSiPM::GetStepADC(), mdet::Channel::GetThreshold(), GetTrueRangeLowThreshold(), mdet::FrontEndSiPM::GetTrueRangeLowThreshold(), and mdet::Scintillator::GetWidth().
|
inlineprotectedinherited |
Common utility function for configuration.
Overload without wrapping parameter: directly gets the datum as parameter. Typically invoked with T equal to a primitive type (int, double, so on).
Definition at line 232 of file DetectorComponent.h.
|
private |
Hi end-point of the range where the voltage is taken as a false-value by the FPGA sampling process.
To be a false-value a voltage needs to be lower than this value.
Definition at line 88 of file FrontEnd.cc.
References fFalseRangeHiThreshold, and det::DetectorComponent< C, ManagerProvider >::GetData().
|
inlineinherited |
The id of this component.
Definition at line 105 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::fId.
Referenced by G4StationSimulatorOG::G4StationConstruction::AssembleUMD(), MuonCounterViewerAG::ScintBuilder::Box(), MdLDFFinderAG::Likelihood2::CalculateCandidateLikelihood(), MdLDFFinderAG::Likelihood3::CalculateCandidateLikelihood(), MdLDFFinderAG::Likelihood::CalculateCandidateLikelihood(), MdLDFFinderAG::MdLDFFinder::CalculateChi2(), MdLDFFinderAG::MdLDFFinder::FillModulesShowerPlaneDistances(), EdepSimulatorAG::PrimaryGenerator::GeneratePrimaries(), mdet::PMT::GetCrossTalk(), det::DetectorComponent< C, ManagerProvider >::Init(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::OptoElectronics(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::PlotChannel(), MdCounterSimulatorAG::MdCounterSimulator::PlotChannel(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::PlotIntegrator(), MdCounterSimulatorAG::MdCounterSimulator::PlotIntegrator(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulses(), MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulsesIntegrator(), MdCounterSimulatorAG::MdCounterSimulator::ProcessPulsesIntegrator(), MdEventSelectorAG::MdEventSelector::RejectTimeOutliers(), EdepSimulatorAG::EdepSimulator::Run(), MuonCounterViewerAG::MuonCounterViewer::Run(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEventScintillatorSimulated(), MdLDFFinderAG::MdLDFFinder::SetLdfResiduals(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::SimulateElectronics(), MdCounterSimulatorAG::MdCounterSimulator::SimulateElectronics(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
inlineinherited |
The id identifying this component within its detector hierarhy.
Definition at line 111 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::fIdsMap.
Referenced by mdet::Counter::GetModules(), mdet::Module::Module(), mdet::PMT::PMT(), mdet::SiPMArray::Update(), Update(), mdet::FrontEndSiPM::Update(), mdet::PMT::Update(), and mdet::Module::Update().
ULong64_t mdet::FrontEnd::GetMask | ( | ) | const |
Size of the (cyclic) external memory buffer associated to each module.
The working strategy is signal collecting is goes like this. On a loop the signal is collected on the PreT1-buffer; when a significant signal is detected in the tank, a T1 signal is sent to the front end from the tank. Then the PreT1-buffer is frozen and the data collection proceeds to write on the PostT1-buffer. Upon reaching the end of this second stage buffer, the complete trace (pre+post) is stored in an external cyclic memory buffer, with room for n complete (pre+post) buffers (where n is the return value of this method). For typical values, this length (of the external memory) amounts to 10 seconds of data acquisition, taking into account the typical T1 rate from the tanks. On the other side, upon detection of a T3 configuration CDAS will ask the Counter / Modules for the traces collected at (within a tolerance) the T3 time. The external memory buffer will be scanned and those detected will be sent to CDAS. As a last remark, note that the tank promotes certain T1 times to T2, whereas the front end stores only T1 and does no filtering according to T2 promotion (the actual device was built without a mechanism to retrieve T2 promotion information from the tank to the front end). What CDAS promotes to T3 are only what was formerly promoted to T2, so in this external memory buffer certain (pre+post) buffers will be stored (temporarily, recall the cyclic nature) but CDAS will never request them. Get mask of broken channels.
Definition at line 104 of file FrontEnd.cc.
References GetBrokenChannels().
Referenced by MDetectorTest::testBrokenChannelsAssignment().
double mdet::FrontEnd::GetMeanSampleRatePeriod | ( | ) | const |
Mean electronic sample rate period.
This is the (mean) time elapsed between consecutive digital samples. Tipically in the order of ns.
Definition at line 43 of file FrontEnd.cc.
References fMeanSampleRatePeriod, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MdMuonEstimatorAG::MdMuonEstimator::FillChannelsOn(), MdMuonCounterAG::MdMuonCounter::FillChannelsOn(), MdMuonCounterAG::MdMuonCounter::FillModuleRecData(), MdMuonEstimatorAG::MdMuonEstimator::GetSamplingTime(), MdMuonCounterAG::MdMuonCounter::GetTraceOffset(), MdMuonEstimatorAG::MdMuonEstimator::LoadPatternMatchesInModuleRecData(), otoa::MD2ADST::MakeModule(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulses(), MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses(), UnderGrdInjectorAG::UnderGrdInjector::Run(), MdMuonCounterAG::MdMuonCounter::Run(), and MDetectorTest::testBrokenChannelsAssignment().
The module to which this FrontEnd belongs.
Definition at line 36 of file FrontEnd.cc.
References fModule.
Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulses(), and MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses().
unsigned int mdet::FrontEnd::GetPostT1BufferLength | ( | ) | const |
Number of bins of the post-T1 buffer.
Definition at line 65 of file FrontEnd.cc.
References fPostT1BufferLength, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by GetBufferLength(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulses(), MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses(), UnderGrdInjectorAG::UnderGrdInjector::Run(), and MDetectorTest::testBrokenChannelsAssignment().
unsigned int mdet::FrontEnd::GetPreT1BufferLength | ( | ) | const |
Number of bins of the (cyclic) pre-T1 buffer.
Definition at line 57 of file FrontEnd.cc.
References fPreT1BufferLength, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by GetBufferLength(), MdMuonCounterAG::MdMuonCounter::GetTraceOffset(), MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulses(), MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses(), UnderGrdInjectorAG::UnderGrdInjector::Run(), and MDetectorTest::testBrokenChannelsAssignment().
double mdet::FrontEnd::GetSampleRatePeriodJitter | ( | ) | const |
Electronic's jitter in sample rate.
It's a relative factor over the mean value.
From this value several different quantities could be derived: (i) the standard deviation of a Gaussian jitter distribution. (ii) the upper and lower limits of a Uniform jitter distribution.
Definition at line 50 of file FrontEnd.cc.
References fSampleRatePeriodJitter, and det::DetectorComponent< C, ManagerProvider >::GetData().
|
private |
Low end-point of the range where the voltage is taken as a true-value by the FPGA sampling proccess.
To be a true-value a voltage needs to be higher than this value.
Definition at line 81 of file FrontEnd.cc.
References fTrueRangeLowThreshold, and det::DetectorComponent< C, ManagerProvider >::GetData().
FrontEnd::Sampler mdet::FrontEnd::MakeSampler | ( | ) | const |
Create a new sampler object.
Definition at line 138 of file FrontEnd.cc.
Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::ProcessPulses(), and MdCounterSimulatorAG::MdCounterSimulator::ProcessPulses().
|
inlineprotectedinherited |
Register the field so as to allow handling it.
Definition at line 298 of file DetectorComponent.h.
References det::DetectorComponent< C, ManagerProvider >::fFields.
Referenced by mdet::ChannelSiPM::ChannelSiPM(), mdet::Counter::Counter(), mdet::Module::Module(), and mdet::Scintillator::Scintillator().
|
protectedinherited |
|
inherited |
|
private |
Forward to channels and to base-class.
Definition at line 169 of file FrontEnd.cc.
References fBrokenChannels, fChannels, det::DetectorComponent< C, ManagerProvider >::GetIdsMap(), and Update().
|
friend |
See mdet::Counter.
Definition at line 249 of file FrontEnd.h.
|
friend |
Friendship to allow construction. Also access to channels (GetChannels).
Definition at line 239 of file FrontEnd.h.
|
friend |
Frienship to allow destruction.
This comes from the fact that the FrontEnd is kept (in mdet::Module) within one of these.
Definition at line 246 of file FrontEnd.h.
|
inherited |
Returns the message that identifies this component.
To make unambiguous the call in the wrapped version.
This method is just a convenience informative method, not meant to be used for control-flow logic (please do not parse this!).
In the wrapped version, when wrapped type is itself a wrapping template, the compiler has a hard time to decide what to do. So this function was created with the logic formerly contained in the non-wrapped version.
Related to this, see http://www.gotw.ca/publications/mill17.htm.
Definition at line 125 of file DetectorComponent.h.
|
inherited |
Retrieve the user custom data.
Definition at line 137 of file DetectorComponent.h.
|
protectedinherited |
Doubly-templated variation of common utility.
Needed to be added in response to the addition of a 2nd policy parameter to utl::ShadowPtr.
Definition at line 203 of file DetectorComponent.h.
|
protectedinherited |
Specialization for utl::Validated.
To make unambiguous the call in the wrapped version.
In the wrapped version, when wrapped type is itself a wrapping template, the compiler has a hard time to decide what to do. So this function was created with the logic formerly contained in the non-wrapped version.
Related to this, see http://www.gotw.ca/publications/mill17.htm.
Definition at line 216 of file DetectorComponent.h.
|
protectedinherited |
Message that identifies the component.
Streams-out a (human-readeable) message identifying the component in the hierarchy. It's meant to be used only in messages sent to the user as a way to identify the component that isssues the message (be it an information, warning or error one).
Maybe it'd have been more idiomatic to overload operator<< but I feel that it would be misleading to "stream out" a DetectorComponent.
Definition at line 250 of file DetectorComponent.h.
|
mutableprivate |
Definition at line 275 of file FrontEnd.h.
Referenced by GetBrokenChannels(), and Update().
|
private |
Definition at line 251 of file FrontEnd.h.
Referenced by ChannelsBegin(), ChannelsEnd(), GetChannels(), and Update().
|
mutableprivate |
Definition at line 269 of file FrontEnd.h.
|
mutableprivate |
Definition at line 273 of file FrontEnd.h.
Referenced by GetFalseRangeHiThreshold().
|
mutableprivate |
Definition at line 255 of file FrontEnd.h.
Referenced by GetMeanSampleRatePeriod().
Definition at line 277 of file FrontEnd.h.
Referenced by GetModule().
|
mutableprivate |
Definition at line 267 of file FrontEnd.h.
Referenced by GetPostT1BufferLength().
|
mutableprivate |
Definition at line 265 of file FrontEnd.h.
Referenced by GetPreT1BufferLength().
|
mutableprivate |
Definition at line 257 of file FrontEnd.h.
Referenced by GetSampleRatePeriodJitter().
|
mutableprivate |
Definition at line 271 of file FrontEnd.h.
Referenced by GetTrueRangeLowThreshold().
|
static |
Definition at line 73 of file FrontEnd.h.
|
static |
Definition at line 71 of file FrontEnd.h.
|
protectedinherited |
Definition at line 257 of file DetectorComponent.h.
Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::SimulateElectronics(), and MdCounterSimulatorAG::MdCounterSimulator::SimulateElectronics().