1 #include <mdet/ChannelSiPM.h>
3 #include <mdet/MHierarchyInfo.h>
5 #include <utl/AugerUnits.h>
6 #include <utl/MathConstants.h>
8 #include <fwk/RandomEngineRegistry.h>
125 const std::complex<double> preAmp(
130 const std::complex<double> fs(
172 return signalDiscriminator;
static const char *const kComponentId
utl::Validated< double > fFastShaperGain
double ApplySaturation(double v) const
double fTimeOverThreshold
utl::Validated< double > fDiscriminatorHiLevel
double ComputeDiscriminator(double signal, double deltaTime) const
static const char *const kComponentsNames[13]
double GetDiscriminatorGain() const
Voltage change per time unit.
double GetFastShaperTime() const
double GetFastShaperGain() const
Pre amplifier gain.
Defines within it the common (templated) type for muon detector hierarchy components.
static const char *const kComponentsIds[13]
double pow(const double x, const unsigned int i)
void Register(utl::VValidated &v)
Register the field so as to allow handling it.
T & GetData(P< T > &d, const std::string &p) const
Common utility function for configuration.
Electronic front-end for the modules.
utl::Validated< double > fDiscriminatorTransitionTime
double GetDiscriminatorHiLevel() const
Target voltage when the signal is higher than the threshold.
double GetDiscriminatorLowLevel() const
Target voltage when the signal is lower than the threshold.
std::complex< double > ComputeTransfer(double freq) const
Computes the circuit transfer function at the given frequency.
utl::Validated< double > fFastShaperTime
double GetPreAmplifierTime() const
Pre amplifier time.
utl::Validated< double > fThreshold
static const char *const kComponentName
utl::Validated< double > fPreAmplifierTime
std::map< std::string, std::string > IndexMap
utl::Validated< double > fPreAmplifierGain
double GetPreAmplifierGain() const
Pre amplifier gain.
double GetDiscriminatorThreshold() const
Type
The type of file that we are acutally opening.
ChannelSiPM(int cId, const det::VManager::IndexMap &parentMap, const FrontEndSiPM &parent)
Constructs the electronic ChannelSiPM.
utl::Validated< double > fDiscriminatorLowLevel
utl::Validated< double > fDiscriminatorGain
double GetDiscriminatorTransitionTime() const
Time for the discriminator to go up, once the signal reaches the threshold.