List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
mdet::BackEndSiPM Class Reference

Eletronic BackEndSiPM. More...

#include "mdet/BackEndSiPM.h"

Inheritance diagram for mdet::BackEndSiPM:
Inheritance graph
[legend]

Public Types

enum  TransferStep {
  eFirstAdder, eSecondAdder, eLowGainAmplifier, eHighGainAmplifier,
  eADC, eSimplifiedLG, eSimplifiedHG
}
 

Public Member Functions

 AddIdMessage (o)
 
double ApplySaturation (double value, TransferStep step) const
 
std::complex< double > ComputeTransfer (double freq, TransferStep step) const
 
double GetHighGainAmplifierOffset () const
 
int GetId () const
 The id of this component. More...
 
const VManager::IndexMap & GetIdsMap () const
 The id identifying this component within its detector hierarhy. More...
 
double GetLowGainAmplifierOffset () const
 
const ModuleGetModule () const
 The shared electronic frontend of this backend. More...
 
short GetNumberOfChannelsToGroup () const
 
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[12]
 
static const char *const kComponentName = MHierarchyInfo::kComponentsNames[12]
 

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 Member Functions

double ApplySaturationADC (double v) const
 
double ApplySaturationFirstAdder (double v) const
 
double ApplySaturationHighGainAmplifier (double v) const
 
double ApplySaturationLowGainAmplifier (double v) const
 
double ApplySaturationSecondAdder (double v) const
 
 BackEndSiPM (int cId, const det::VManager::IndexMap &parentMap, const Module &parent)
 Constructs the electronic BackEndSiPM. More...
 
std::complex< double > ComputeTransferADC (double freq) const
 
std::complex< double > ComputeTransferFirstAdder (double freq) const
 
std::complex< double > ComputeTransferHighGainAmplifier (double freq) const
 
std::complex< double > ComputeTransferLowGainAmplifier (double freq) const
 
std::complex< double > ComputeTransferSecondAdder (double freq) const
 
std::complex< double > ComputeTransferSimplifiedHG (double freq) const
 
std::complex< double > ComputeTransferSimplifiedLG (double freq) const
 
const char * Get1stAdderFunctionIm () const
 
const char * Get1stAdderFunctionReal () const
 First and second adder transfer function: More...
 
const char * Get2ndAdderFunctionIm () const
 
const char * Get2ndAdderFunctionReal () const
 
const char * GetADCFunctionIm () const
 
const char * GetADCFunctionReal () const
 ADC transfer function. More...
 
double GetADCOffset () const
 
double GetADCPar1 () const
 
double GetADCPar2 () const
 
double GetADCPar3 () const
 
double GetADCPar4 () const
 
double GetADCPar5 () const
 
double GetADCPar6 () const
 
double GetADCSaturationDown () const
 
double GetADCSaturationUp () const
 
const char * GetAmplifierHGFunctionIm () const
 
const char * GetAmplifierHGFunctionReal () const
 
const char * GetAmplifierLGFunctionIm () const
 
const char * GetAmplifierLGFunctionReal () const
 High gain and low gain Amplifier transfer function. More...
 
double GetFirstAdderOffset () const
 
double GetFirstAdderPar1 () const
 
double GetFirstAdderPar2 () const
 
double GetFirstAdderPar3 () const
 
double GetFirstAdderPar4 () const
 
double GetFirstAdderPar5 () const
 
double GetFirstAdderSaturationDown () const
 
double GetFirstAdderSaturationUp () const
 
double GetHighGainAmplifierAdjustFactor () const
 
double GetHighGainAmplifierAdjustmentFactor () const
 
double GetHighGainAmplifierPar1 () const
 
double GetHighGainAmplifierPar2 () const
 
double GetHighGainAmplifierPar3 () const
 
double GetHighGainAmplifierPar4 () const
 
double GetHighGainAmplifierPar5 () const
 
double GetHighGainAmplifierPar6 () const
 
double GetHighGainAmplifierPar7 () const
 
double GetHighGainAmplifierPar8 () const
 
double GetHighGainAmplifierPar9 () const
 
double GetHighGainAmplifierSaturationDown () const
 
double GetHighGainAmplifierSaturationUp () const
 
double GetLowGainAmplifierAdjustFactor () const
 
double GetLowGainAmplifierAdjustmentFactor () const
 
double GetLowGainAmplifierPar1 () const
 
double GetLowGainAmplifierPar2 () const
 
double GetLowGainAmplifierPar3 () const
 
double GetLowGainAmplifierPar4 () const
 
double GetLowGainAmplifierPar5 () const
 
double GetLowGainAmplifierPar6 () const
 
double GetLowGainAmplifierPar7 () const
 
double GetLowGainAmplifierPar8 () const
 
double GetLowGainAmplifierPar9 () const
 
double GetLowGainAmplifierSaturationDown () const
 
double GetLowGainAmplifierSaturationUp () const
 
double GetSecondAdderOffset () const
 
double GetSecondAdderPar1 () const
 
double GetSecondAdderPar2 () const
 
double GetSecondAdderPar3 () const
 
double GetSecondAdderPar4 () const
 
double GetSecondAdderPar5 () const
 
double GetSecondAdderSaturationDown () const
 
double GetSecondAdderSaturationUp () const
 
double GetSimplifiedGainHG () const
 
double GetSimplifiedGainLG () const
 Simplified transfer functions (low-passs active filter) More...
 
double GetSimplifiedTime () const
 
 ~BackEndSiPM ()
 Destructor (!). More...
 

Private Attributes

utl::Validated< double > fADCOffset
 
utl::Validated< double > fADCPar1
 
utl::Validated< double > fADCPar2
 
utl::Validated< double > fADCPar3
 
utl::Validated< double > fADCPar4
 
utl::Validated< double > fADCPar5
 
utl::Validated< double > fADCPar6
 
utl::Validated< double > fADCSaturationDown
 
utl::Validated< double > fADCSaturationUp
 
utl::Validated< double > fFirstAdderOffset
 
utl::Validated< double > fFirstAdderPar1
 
utl::Validated< double > fFirstAdderPar2
 
utl::Validated< double > fFirstAdderPar3
 
utl::Validated< double > fFirstAdderPar4
 
utl::Validated< double > fFirstAdderPar5
 
utl::Validated< double > fFirstAdderSaturationDown
 
utl::Validated< double > fFirstAdderSaturationUp
 
utl::Validated< double > fHighGainAmplifierAdjustmentFactor
 
utl::Validated< double > fHighGainAmplifierOffset
 
utl::Validated< double > fHighGainAmplifierPar1
 
utl::Validated< double > fHighGainAmplifierPar2
 
utl::Validated< double > fHighGainAmplifierPar3
 
utl::Validated< double > fHighGainAmplifierPar4
 
utl::Validated< double > fHighGainAmplifierPar5
 
utl::Validated< double > fHighGainAmplifierPar6
 
utl::Validated< double > fHighGainAmplifierPar7
 
utl::Validated< double > fHighGainAmplifierPar8
 
utl::Validated< double > fHighGainAmplifierPar9
 
utl::Validated< double > fHighGainAmplifierSaturationDown
 
utl::Validated< double > fHighGainAmplifierSaturationUp
 
utl::Validated< double > fLowGainAmplifierAdjustmentFactor
 
utl::Validated< double > fLowGainAmplifierOffset
 
utl::Validated< double > fLowGainAmplifierPar1
 
utl::Validated< double > fLowGainAmplifierPar2
 
utl::Validated< double > fLowGainAmplifierPar3
 
utl::Validated< double > fLowGainAmplifierPar4
 
utl::Validated< double > fLowGainAmplifierPar5
 
utl::Validated< double > fLowGainAmplifierPar6
 
utl::Validated< double > fLowGainAmplifierPar7
 
utl::Validated< double > fLowGainAmplifierPar8
 
utl::Validated< double > fLowGainAmplifierPar9
 
utl::Validated< double > fLowGainAmplifierSaturationDown
 
utl::Validated< double > fLowGainAmplifierSaturationUp
 
const ModulefModule
 
utl::Validated< double > fNumberOfChannelsToGroup
 
utl::Validated< double > fSecondAdderOffset
 
utl::Validated< double > fSecondAdderPar1
 
utl::Validated< double > fSecondAdderPar2
 
utl::Validated< double > fSecondAdderPar3
 
utl::Validated< double > fSecondAdderPar4
 
utl::Validated< double > fSecondAdderPar5
 
utl::Validated< double > fSecondAdderSaturationDown
 
utl::Validated< double > fSecondAdderSaturationUp
 
utl::Validated< double > fSimplifiedGainHG
 
utl::Validated< double > fSimplifiedGainLG
 
utl::Validated< double > fSimplifiedTime
 

Friends

template<class T >
void boost::checked_delete (T *) BOOST_NOEXCEPT
 Friendship for destruction. More...
 
template<class A1 , class A2 , class A3 , class A4 >
class det::ComponentGroup
 See mdet::Counter. More...
 
struct det::ComponentUpdater
 See mdet::Counter. More...
 
struct det::ParentCreator
 Friendship to allow creation (or call it construction). More...
 
class Module
 
class utl::ShadowPtr< BackEndSiPM >
 Frienship to allow destruction. More...
 

Detailed Description

Eletronic BackEndSiPM.

This class manage the integrator electronics BackEnd that register the signal that comes out a SiPM array. This class includes the first two adders, the LG and HG amplification channels, and the ADC transfer function. The ADC sampling can be found in FrontEndSiPM. So, the ADC functionality is distributed in two classes (not great). The only reason is to compute all the transfer at once, and to keep the frontend class clean. In the end, the frontend is in charge only of the sampling and the generation of the output traces

Definition at line 37 of file BackEndSiPM.h.

Member Enumeration Documentation

Enumerator
eFirstAdder 
eSecondAdder 
eLowGainAmplifier 
eHighGainAmplifier 
eADC 
eSimplifiedLG 
eSimplifiedHG 

Definition at line 51 of file BackEndSiPM.h.

Constructor & Destructor Documentation

mdet::BackEndSiPM::BackEndSiPM ( int  cId,
const det::VManager::IndexMap parentMap,
const Module parent 
)
private

Constructs the electronic BackEndSiPM.

Parameters
cIdThe identifier to be used.
parentMapThe identifiers of the parent within the hierarchy.
parentThe parent mdet::FrontEnd.

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.

See Also
mdet::MDectectorComponent::Type

Definition at line 30 of file BackEndSiPM.cc.

mdet::BackEndSiPM::~BackEndSiPM ( )
inlineprivate

Destructor (!).

Definition at line 291 of file BackEndSiPM.h.

Member Function Documentation

template<class C , class ManagerProvider >
det::DetectorComponent< C, ManagerProvider >::AddIdMessage ( )
inherited
double mdet::BackEndSiPM::ApplySaturation ( double  value,
BackEndSiPM::TransferStep  step 
) const
double mdet::BackEndSiPM::ApplySaturationADC ( double  v) const
private

Definition at line 766 of file BackEndSiPM.cc.

References GetADCOffset(), GetADCSaturationDown(), and GetADCSaturationUp().

Referenced by ApplySaturation().

double mdet::BackEndSiPM::ApplySaturationFirstAdder ( double  v) const
private
double mdet::BackEndSiPM::ApplySaturationHighGainAmplifier ( double  v) const
private
double mdet::BackEndSiPM::ApplySaturationLowGainAmplifier ( double  v) const
private
double mdet::BackEndSiPM::ApplySaturationSecondAdder ( double  v) const
private
std::complex< double > mdet::BackEndSiPM::ComputeTransfer ( double  freq,
BackEndSiPM::TransferStep  step 
) const
std::complex< double > mdet::BackEndSiPM::ComputeTransferADC ( double  freq) const
private
std::complex< double > mdet::BackEndSiPM::ComputeTransferFirstAdder ( double  freq) const
private
std::complex< double > mdet::BackEndSiPM::ComputeTransferHighGainAmplifier ( double  freq) const
private
std::complex< double > mdet::BackEndSiPM::ComputeTransferLowGainAmplifier ( double  freq) const
private
std::complex< double > mdet::BackEndSiPM::ComputeTransferSecondAdder ( double  freq) const
private
std::complex< double > mdet::BackEndSiPM::ComputeTransferSimplifiedHG ( double  freq) const
private

Definition at line 690 of file BackEndSiPM.cc.

References GetSimplifiedGainHG(), GetSimplifiedTime(), and std::pow().

Referenced by ComputeTransfer().

std::complex< double > mdet::BackEndSiPM::ComputeTransferSimplifiedLG ( double  freq) const
private

Definition at line 676 of file BackEndSiPM.cc.

References GetSimplifiedGainLG(), GetSimplifiedTime(), utl::kTwoPi, and std::pow().

Referenced by ComputeTransfer().

const char* mdet::BackEndSiPM::Get1stAdderFunctionIm ( ) const
inlineprivate

Definition at line 110 of file BackEndSiPM.h.

Referenced by ComputeTransferFirstAdder().

const char* mdet::BackEndSiPM::Get1stAdderFunctionReal ( ) const
inlineprivate

First and second adder transfer function:

Definition at line 104 of file BackEndSiPM.h.

Referenced by ComputeTransferFirstAdder().

const char* mdet::BackEndSiPM::Get2ndAdderFunctionIm ( ) const
inlineprivate

Definition at line 132 of file BackEndSiPM.h.

Referenced by ComputeTransferSecondAdder().

const char* mdet::BackEndSiPM::Get2ndAdderFunctionReal ( ) const
inlineprivate

Definition at line 126 of file BackEndSiPM.h.

Referenced by ComputeTransferSecondAdder().

const char* mdet::BackEndSiPM::GetADCFunctionIm ( ) const
inlineprivate

Definition at line 234 of file BackEndSiPM.h.

Referenced by ComputeTransferADC().

const char* mdet::BackEndSiPM::GetADCFunctionReal ( ) const
inlineprivate

ADC transfer function.

Definition at line 228 of file BackEndSiPM.h.

Referenced by ComputeTransferADC().

double mdet::BackEndSiPM::GetADCOffset ( ) const
private
double mdet::BackEndSiPM::GetADCPar1 ( ) const
private
double mdet::BackEndSiPM::GetADCPar2 ( ) const
private
double mdet::BackEndSiPM::GetADCPar3 ( ) const
private
double mdet::BackEndSiPM::GetADCPar4 ( ) const
private
double mdet::BackEndSiPM::GetADCPar5 ( ) const
private
double mdet::BackEndSiPM::GetADCPar6 ( ) const
private
double mdet::BackEndSiPM::GetADCSaturationDown ( ) const
private
double mdet::BackEndSiPM::GetADCSaturationUp ( ) const
private
const char* mdet::BackEndSiPM::GetAmplifierHGFunctionIm ( ) const
inlineprivate

Definition at line 197 of file BackEndSiPM.h.

Referenced by ComputeTransferHighGainAmplifier().

const char* mdet::BackEndSiPM::GetAmplifierHGFunctionReal ( ) const
inlineprivate

Definition at line 187 of file BackEndSiPM.h.

Referenced by ComputeTransferHighGainAmplifier().

const char* mdet::BackEndSiPM::GetAmplifierLGFunctionIm ( ) const
inlineprivate

Definition at line 162 of file BackEndSiPM.h.

Referenced by ComputeTransferLowGainAmplifier().

const char* mdet::BackEndSiPM::GetAmplifierLGFunctionReal ( ) const
inlineprivate

High gain and low gain Amplifier transfer function.

Definition at line 152 of file BackEndSiPM.h.

Referenced by ComputeTransferLowGainAmplifier().

template<class C , class ManagerProvider >
template<typename T , template< typename > class P>
T& det::DetectorComponent< C, ManagerProvider >::GetData ( P< T > &  d,
const std::string &  p 
) const
inlineprotectedinherited

Common utility function for configuration.

Retrieves data from the provided (via this class' template parameter) Manager instance and goes on with initialization.

Parameters
dAn object of type P<T> wrapping the real of type T.
pProperty name. The template class P must provide:
  • A bool-like interface (operator ! and a conversion (possibly implicit to bool) to query initialization.
  • An T& operator*() to retrieve the actual data.
  • P& operator=(T* const ptr) for proper initialization.
  • As of the wrapped class T, it must be default constructible.

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(), GetADCOffset(), GetADCPar1(), GetADCPar2(), GetADCPar3(), GetADCPar4(), GetADCPar5(), GetADCPar6(), GetADCSaturationDown(), 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(), mdet::FrontEnd::GetFalseRangeHiThreshold(), mdet::FrontEndSiPM::GetFalseRangeHiThreshold(), mdet::ChannelSiPM::GetFastShaperGain(), mdet::ChannelSiPM::GetFastShaperTime(), mdet::Channel::GetFeedbackResistance(), GetFirstAdderOffset(), GetFirstAdderPar1(), GetFirstAdderPar2(), GetFirstAdderPar3(), GetFirstAdderPar4(), GetFirstAdderPar5(), GetFirstAdderSaturationDown(), GetFirstAdderSaturationUp(), mdet::Scintillator::GetHeight(), mdet::Channel::GetHighCutoffFrequency(), GetHighGainAmplifierAdjustmentFactor(), GetHighGainAmplifierOffset(), GetHighGainAmplifierPar1(), GetHighGainAmplifierPar2(), GetHighGainAmplifierPar3(), GetHighGainAmplifierPar4(), GetHighGainAmplifierPar5(), GetHighGainAmplifierPar6(), GetHighGainAmplifierPar7(), GetHighGainAmplifierPar8(), GetHighGainAmplifierPar9(), GetHighGainAmplifierSaturationDown(), GetHighGainAmplifierSaturationUp(), mdet::Channel::GetInitialIntervalLength(), mdet::Channel::GetInvertingInputResistance(), mdet::Channel::GetIterationsNumber(), mdet::Scintillator::GetLength(), mdet::Scintillator::GetLocalSoilDensity(), mdet::Channel::GetLowCutoffFrequency(), GetLowGainAmplifierAdjustmentFactor(), GetLowGainAmplifierOffset(), GetLowGainAmplifierPar1(), GetLowGainAmplifierPar2(), GetLowGainAmplifierPar3(), GetLowGainAmplifierPar4(), GetLowGainAmplifierPar5(), GetLowGainAmplifierPar6(), GetLowGainAmplifierPar7(), GetLowGainAmplifierPar8(), GetLowGainAmplifierPar9(), GetLowGainAmplifierSaturationDown(), GetLowGainAmplifierSaturationUp(), mdet::Channel::GetMaxNumberOfErrors(), mdet::FrontEnd::GetMeanSampleRatePeriod(), mdet::FrontEndSiPM::GetMeanSampleRatePeriod(), GetNumberOfChannelsToGroup(), mdet::Fiber::GetNumericalAperture(), mdet::Fiber::GetOnManifoldLength(), mdet::Module::GetPhotoDetector(), mdet::FrontEndSiPM::GetPostT1BufferLength(), mdet::FrontEnd::GetPostT1BufferLength(), mdet::ChannelSiPM::GetPreAmplifierGain(), mdet::ChannelSiPM::GetPreAmplifierTime(), mdet::FrontEndSiPM::GetPreT1BufferLength(), mdet::FrontEnd::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(), mdet::FrontEnd::GetSampleRatePeriodJitter(), mdet::FrontEndSiPM::GetSampleTimeADC(), GetSecondAdderOffset(), GetSecondAdderPar1(), GetSecondAdderPar2(), GetSecondAdderPar3(), GetSecondAdderPar4(), GetSecondAdderPar5(), GetSecondAdderSaturationDown(), GetSecondAdderSaturationUp(), mdet::Channel::GetSignalShiftMean(), mdet::Channel::GetSignalShiftStdDev(), GetSimplifiedGainHG(), GetSimplifiedGainLG(), GetSimplifiedTime(), mdet::Channel::GetSlewRate(), mdet::FrontEndSiPM::GetStepADC(), mdet::Channel::GetThreshold(), mdet::FrontEnd::GetTrueRangeLowThreshold(), mdet::FrontEndSiPM::GetTrueRangeLowThreshold(), and mdet::Scintillator::GetWidth().

template<class C , class ManagerProvider >
template<typename T >
T& det::DetectorComponent< C, ManagerProvider >::GetData ( T &  d,
const std::string &  p 
) const
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.

double mdet::BackEndSiPM::GetFirstAdderOffset ( ) const
private
double mdet::BackEndSiPM::GetFirstAdderPar1 ( ) const
private
double mdet::BackEndSiPM::GetFirstAdderPar2 ( ) const
private
double mdet::BackEndSiPM::GetFirstAdderPar3 ( ) const
private
double mdet::BackEndSiPM::GetFirstAdderPar4 ( ) const
private
double mdet::BackEndSiPM::GetFirstAdderPar5 ( ) const
private
double mdet::BackEndSiPM::GetFirstAdderSaturationDown ( ) const
private
double mdet::BackEndSiPM::GetFirstAdderSaturationUp ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierAdjustFactor ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierAdjustmentFactor ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierOffset ( ) const
double mdet::BackEndSiPM::GetHighGainAmplifierPar1 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar2 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar3 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar4 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar5 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar6 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar7 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar8 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierPar9 ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierSaturationDown ( ) const
private
double mdet::BackEndSiPM::GetHighGainAmplifierSaturationUp ( ) const
private
template<class C , class ManagerProvider >
int det::DetectorComponent< C, ManagerProvider >::GetId ( ) const
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().

template<class C , class ManagerProvider >
const VManager::IndexMap& det::DetectorComponent< C, ManagerProvider >::GetIdsMap ( ) const
inlineinherited
double mdet::BackEndSiPM::GetLowGainAmplifierAdjustFactor ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierAdjustmentFactor ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierOffset ( ) const
double mdet::BackEndSiPM::GetLowGainAmplifierPar1 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar2 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar3 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar4 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar5 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar6 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar7 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar8 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierPar9 ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierSaturationDown ( ) const
private
double mdet::BackEndSiPM::GetLowGainAmplifierSaturationUp ( ) const
private
const Module& mdet::BackEndSiPM::GetModule ( ) const
inline

The shared electronic frontend of this backend.

Definition at line 47 of file BackEndSiPM.h.

References fModule.

short mdet::BackEndSiPM::GetNumberOfChannelsToGroup ( ) const
double mdet::BackEndSiPM::GetSecondAdderOffset ( ) const
private
double mdet::BackEndSiPM::GetSecondAdderPar1 ( ) const
private
double mdet::BackEndSiPM::GetSecondAdderPar2 ( ) const
private
double mdet::BackEndSiPM::GetSecondAdderPar3 ( ) const
private
double mdet::BackEndSiPM::GetSecondAdderPar4 ( ) const
private
double mdet::BackEndSiPM::GetSecondAdderPar5 ( ) const
private
double mdet::BackEndSiPM::GetSecondAdderSaturationDown ( ) const
private
double mdet::BackEndSiPM::GetSecondAdderSaturationUp ( ) const
private
double mdet::BackEndSiPM::GetSimplifiedGainHG ( ) const
private
double mdet::BackEndSiPM::GetSimplifiedGainLG ( ) const
private

Simplified transfer functions (low-passs active filter)

Definition at line 432 of file BackEndSiPM.cc.

References fSimplifiedGainLG, and det::DetectorComponent< C, ManagerProvider >::GetData().

Referenced by ComputeTransferSimplifiedLG().

double mdet::BackEndSiPM::GetSimplifiedTime ( ) const
private
template<class C , class ManagerProvider >
void det::DetectorComponent< C, ManagerProvider >::Register ( utl::VValidated v)
inlineprotectedinherited
template<class C , class ManagerProvider >
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)-> det::DetectorComponent< C, ManagerProvider >::SetValid ( false  )
protectedinherited
template<class C , class ManagerProvider >
return o det::DetectorComponent< C, ManagerProvider >::str ( )
inherited

Friends And Related Function Documentation

template<class T >
void boost::checked_delete ( T *  )
friend

Friendship for destruction.

Depends on det::ComponentGroup innards.

template<class A1 , class A2 , class A3 , class A4 >
friend class det::ComponentGroup
friend

See mdet::Counter.

Definition at line 270 of file BackEndSiPM.h.

friend struct det::ComponentUpdater
friend

See mdet::Counter.

Definition at line 304 of file BackEndSiPM.h.

friend struct det::ParentCreator
friend

Friendship to allow creation (or call it construction).

Definition at line 295 of file BackEndSiPM.h.

friend class Module
friend

Definition at line 259 of file BackEndSiPM.h.

friend class utl::ShadowPtr< BackEndSiPM >
friend

Frienship to allow destruction.

This comes from the fact that the BackEndSiPM is kept (in mdet::Module) within one of these.

Definition at line 267 of file BackEndSiPM.h.

Member Data Documentation

template<class C , class ManagerProvider >
T & det::DetectorComponent< T >::const
inherited
Initial value:
{
std::ostringstream o

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

See Also
AddIdMessage(std::ostringstream& s) const.

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.

template<class C , class ManagerProvider >
const DetectorUserData<C>& det::DetectorComponent< C, ManagerProvider >::const
inherited
Initial value:
{
if (!fUserData) {
std::string dataMngr;
GetDataNoWrap(dataMngr, "userData");
DetectorUserData<C>* const t = new DetectorUserData<C>();
DetectorUserData<C>::Load(t, dataMngr);
fUserData = t;
}
return *fUserData

Retrieve the user custom data.

Definition at line 137 of file DetectorComponent.h.

template<class C , class ManagerProvider >
template<typename T1 , typename T2 , template< typename, typename > class P>
T1& det::DetectorComponent< C, ManagerProvider >::const
protectedinherited
Initial value:
{
return GetDataUnwrap<T1>(d, p)

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.

template<class C , class ManagerProvider >
template<typename T >
T& det::DetectorComponent< C, ManagerProvider >::const
protectedinherited
Initial value:
{
if (! d.IsValid()) {
GetDataNoWrap(d.Get(), p);
d.SetValid();
}
return d.Get()

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.

template<class C , class ManagerProvider >
void det::DetectorComponent< C, ManagerProvider >::const
protectedinherited
Initial value:
{
typedef det::VManager::IndexMap::const_iterator It

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.

utl::Validated<double> mdet::BackEndSiPM::fADCOffset
mutableprivate

Definition at line 364 of file BackEndSiPM.h.

Referenced by GetADCOffset().

utl::Validated<double> mdet::BackEndSiPM::fADCPar1
mutableprivate

Definition at line 356 of file BackEndSiPM.h.

Referenced by GetADCPar1().

utl::Validated<double> mdet::BackEndSiPM::fADCPar2
mutableprivate

Definition at line 357 of file BackEndSiPM.h.

Referenced by GetADCPar2().

utl::Validated<double> mdet::BackEndSiPM::fADCPar3
mutableprivate

Definition at line 358 of file BackEndSiPM.h.

Referenced by GetADCPar3().

utl::Validated<double> mdet::BackEndSiPM::fADCPar4
mutableprivate

Definition at line 359 of file BackEndSiPM.h.

Referenced by GetADCPar4().

utl::Validated<double> mdet::BackEndSiPM::fADCPar5
mutableprivate

Definition at line 360 of file BackEndSiPM.h.

Referenced by GetADCPar5().

utl::Validated<double> mdet::BackEndSiPM::fADCPar6
mutableprivate

Definition at line 361 of file BackEndSiPM.h.

Referenced by GetADCPar6().

utl::Validated<double> mdet::BackEndSiPM::fADCSaturationDown
mutableprivate

Definition at line 363 of file BackEndSiPM.h.

Referenced by GetADCSaturationDown().

utl::Validated<double> mdet::BackEndSiPM::fADCSaturationUp
mutableprivate

Definition at line 362 of file BackEndSiPM.h.

Referenced by GetADCSaturationUp().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderOffset
mutableprivate

Definition at line 314 of file BackEndSiPM.h.

Referenced by GetFirstAdderOffset().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderPar1
mutableprivate

Definition at line 307 of file BackEndSiPM.h.

Referenced by GetFirstAdderPar1().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderPar2
mutableprivate

Definition at line 308 of file BackEndSiPM.h.

Referenced by GetFirstAdderPar2().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderPar3
mutableprivate

Definition at line 309 of file BackEndSiPM.h.

Referenced by GetFirstAdderPar3().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderPar4
mutableprivate

Definition at line 310 of file BackEndSiPM.h.

Referenced by GetFirstAdderPar4().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderPar5
mutableprivate

Definition at line 311 of file BackEndSiPM.h.

Referenced by GetFirstAdderPar5().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderSaturationDown
mutableprivate

Definition at line 313 of file BackEndSiPM.h.

Referenced by GetFirstAdderSaturationDown().

utl::Validated<double> mdet::BackEndSiPM::fFirstAdderSaturationUp
mutableprivate

Definition at line 312 of file BackEndSiPM.h.

Referenced by GetFirstAdderSaturationUp().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierAdjustmentFactor
mutableprivate

Definition at line 350 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierAdjustmentFactor().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierOffset
mutableprivate

Definition at line 353 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierOffset().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar1
mutableprivate

Definition at line 341 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar1().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar2
mutableprivate

Definition at line 342 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar2().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar3
mutableprivate

Definition at line 343 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar3().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar4
mutableprivate

Definition at line 344 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar4().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar5
mutableprivate

Definition at line 345 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar5().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar6
mutableprivate

Definition at line 346 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar6().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar7
mutableprivate

Definition at line 347 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar7().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar8
mutableprivate

Definition at line 348 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar8().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierPar9
mutableprivate

Definition at line 349 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierPar9().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierSaturationDown
mutableprivate

Definition at line 352 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierSaturationDown().

utl::Validated<double> mdet::BackEndSiPM::fHighGainAmplifierSaturationUp
mutableprivate

Definition at line 351 of file BackEndSiPM.h.

Referenced by GetHighGainAmplifierSaturationUp().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierAdjustmentFactor
mutableprivate

Definition at line 336 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierAdjustmentFactor().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierOffset
mutableprivate

Definition at line 339 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierOffset().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar1
mutableprivate

Definition at line 326 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar1().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar2
mutableprivate

Definition at line 327 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar2().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar3
mutableprivate

Definition at line 328 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar3().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar4
mutableprivate

Definition at line 329 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar4().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar5
mutableprivate

Definition at line 330 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar5().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar6
mutableprivate

Definition at line 331 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar6().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar7
mutableprivate

Definition at line 332 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar7().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar8
mutableprivate

Definition at line 333 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar8().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierPar9
mutableprivate

Definition at line 334 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierPar9().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierSaturationDown
mutableprivate

Definition at line 338 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierSaturationDown().

utl::Validated<double> mdet::BackEndSiPM::fLowGainAmplifierSaturationUp
mutableprivate

Definition at line 337 of file BackEndSiPM.h.

Referenced by GetLowGainAmplifierSaturationUp().

const Module& mdet::BackEndSiPM::fModule
private

Definition at line 372 of file BackEndSiPM.h.

Referenced by GetModule().

utl::Validated<double> mdet::BackEndSiPM::fNumberOfChannelsToGroup
mutableprivate

Definition at line 366 of file BackEndSiPM.h.

Referenced by GetNumberOfChannelsToGroup().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderOffset
mutableprivate

Definition at line 323 of file BackEndSiPM.h.

Referenced by GetSecondAdderOffset().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderPar1
mutableprivate

Definition at line 316 of file BackEndSiPM.h.

Referenced by GetSecondAdderPar1().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderPar2
mutableprivate

Definition at line 317 of file BackEndSiPM.h.

Referenced by GetSecondAdderPar2().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderPar3
mutableprivate

Definition at line 318 of file BackEndSiPM.h.

Referenced by GetSecondAdderPar3().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderPar4
mutableprivate

Definition at line 319 of file BackEndSiPM.h.

Referenced by GetSecondAdderPar4().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderPar5
mutableprivate

Definition at line 320 of file BackEndSiPM.h.

Referenced by GetSecondAdderPar5().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderSaturationDown
mutableprivate

Definition at line 322 of file BackEndSiPM.h.

Referenced by GetSecondAdderSaturationDown().

utl::Validated<double> mdet::BackEndSiPM::fSecondAdderSaturationUp
mutableprivate

Definition at line 321 of file BackEndSiPM.h.

Referenced by GetSecondAdderSaturationUp().

utl::Validated<double> mdet::BackEndSiPM::fSimplifiedGainHG
mutableprivate

Definition at line 369 of file BackEndSiPM.h.

Referenced by GetSimplifiedGainHG().

utl::Validated<double> mdet::BackEndSiPM::fSimplifiedGainLG
mutableprivate

Definition at line 368 of file BackEndSiPM.h.

Referenced by GetSimplifiedGainLG().

utl::Validated<double> mdet::BackEndSiPM::fSimplifiedTime
mutableprivate

Definition at line 370 of file BackEndSiPM.h.

Referenced by GetSimplifiedTime().

const char *const mdet::BackEndSiPM::kComponentId = MHierarchyInfo::kComponentsIds[12]
static

Definition at line 43 of file BackEndSiPM.h.

const char *const mdet::BackEndSiPM::kComponentName = MHierarchyInfo::kComponentsNames[12]
static

Definition at line 41 of file BackEndSiPM.h.

template<class C , class ManagerProvider >
s<< "id=" << GetId() << " ["; for (It i = GetIdsMap().begin(), e = GetIdsMap().end(); i != e; ++i) s << " " << i-> first<< "=" << i-> det::DetectorComponent< C, ManagerProvider >::second
protectedinherited

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

, generated on Tue Sep 26 2023.