1 #ifndef _mdet_FrontEndSiPM_h
2 #define _mdet_FrontEndSiPM_h
4 #include <mdet/MComponentGroup.h>
5 #include <mdet/MDetectorComponent.h>
6 #include <mdet/ChannelSiPM.h>
9 #include <utl/ShadowPtr_fwd.h>
10 #include <utl/Validated.h>
15 struct ComponentUpdater;
201 void Update(
bool invalidateData,
bool invalidateComponents);
289 template<
class A1,
class A2,
class A3,
class A4>
338 #endif // _mdet_FrontEndSiPM_h
double GetDigitalBackGroundProbability() const
Noise in digital channel.
pointer with built-in initialization, deletion, deep copying
utl::Validated< double > fDigitalBackGroundWidthStdDev
utl::Validated< int > fExternalMemoryBufferLength
MComponentGroup< FrontEndSiPM, ChannelSiPM, det::ParentCreator >::Type ChannelGroup
Type for the set of associated mdet::ChannelSiPM.
Defines within it the common (templated) type for muon detector hierarchy components groups...
std::vector< int > BrokenChannelContainer
int fId
Id of the component.
double GetDelayBinaryADCMean() const
Delay between the binary trace and the ADC traces.
double GetSampleTimeADC() const
ADC Sample Time and delay.
double GetDigitalBackGroundWidthMean() const
const FrontEndSiPM & fFrontEndSiPM
void Update(bool invalidateData, bool invalidateComponents)
Forward to channels and to base-class.
utl::Validated< double > fDigitalBackGroundProbability
double GetStepADC() const
ADC resolution.
ChannelGroup::ConstIterator ChannelConstIterator
Convenience typedef for const iterator over the contained mdet::Channel instances.
short GetInjectDigitalNoiseBin() const
unsigned short GetADCBaseLineFluctuationLG() const
Noise injection for binary and ADC channels.
const ChannelGroup & GetChannels() const
Retrieves the group of channels.
static const char *const kComponentName
utl::Validated< double > fBaseLineFluctuationHG
double GetTrueRangeLowThreshold() const
Low end-point of the range where the voltage is taken as a true-value by the FPGA sampling proccess...
Defines within it the common (templated) type for muon detector hierarchy components.
utl::Validated< double > fDelayBinaryADCSigma
double GetBaseLineFluctuationHG() const
unsigned short GetInjectDigitalNoiseWidth() const
utl::Validated< double > fFalseRangeHiThreshold
double GetDelayBinaryADC() const
Encapsulates the sampling logic.
Sampler MakeSampler() const
Create a new sampler object.
utl::Validated< double > fDelayBinaryADCMean
Electronic front-end for the modules.
double GetBaseLineFluctuationLG() const
utl::Validated< double > fStepADC
FrontEndSiPM(int fId, const det::VManager::IndexMap &parentMap, const Module &parent)
Constructs the electronic front-end.
ChannelConstIterator ChannelsBegin() const
Begin iterator over the contained channels.
Sampler(const FrontEndSiPM &fe)
Construct with the associated FrontEndSiPM.
utl::Validated< double > fBaseLineFluctuationLG
utl::Validated< double > fDigitalBackGroundWidthMean
double GetMeanSampleRatePeriod() const
Mean electronic sample rate period.
ULong64_t GetMask() const
Size of the (cyclic) external memory buffer associated to each module.
unsigned int GetPreT1BufferLength() const
Number of bins of the (cyclic) pre-T1 buffer.
utl::ShadowPtr< BrokenChannelContainer > fBrokenChannels
unsigned int GetPostT1BufferLength() const
Number of bins of the post-T1 buffer.
bool operator()(double v)
Digitally sample the voltage.
const BrokenChannelContainer & GetBrokenChannels() const
List of broken channels.
~FrontEndSiPM()
Destructor (!).
utl::Validated< double > fSampleTimeADC
double GetDelayBinaryADCSigma() const
Base class for group of detector components.
double GetDigitalBackGroundWidthStdDev() const
unsigned short GetADCCounts(double value) const
utl::Validated< int > fPreT1BufferLength
std::map< std::string, std::string > IndexMap
static const char *const kComponentId
double GetFalseRangeHiThreshold() const
Hi end-point of the range where the voltage is taken as a false-value by the FPGA sampling process...
unsigned short GetADCBaseLineOffsetHG() const
Type
The type of file that we are acutally opening.
unsigned short GetADCBaseLineFluctuationHG() const
const Module & GetModule() const
The module to which this FrontEndSiPM belongs.
utl::Validated< double > fMeanSampleRatePeriod
utl::Validated< double > fTrueRangeLowThreshold
ChannelConstIterator ChannelsEnd() const
End iterator over the contained channels.
unsigned short GetADCBaseLineOffsetLG() const
ADC channels offset.
unsigned short GetInjectDigitalNoiseChannel() const
utl::Validated< int > fPostT1BufferLength
bool fLastSample
By now the criteria is to depend only in the last sample.
unsigned int GetBufferLength() const
Number of bins of the buffer.