4 #include <mdet/MDetectorComponent.h>
6 #include <utl/ShadowPtr.h>
7 #include <utl/Validated.h>
9 #include <utl/MathConstants.h>
10 #include <utl/ConsecutiveEnumFactory.h>
18 struct ComponentUpdater;
160 PE(
const SiPM& sipm,
double a1,
double a2,
double a3,
double t1,
double t2,
double t3,
double t4,
double t0) :
188 void Update(
bool invalidateData,
bool invalidateComponents);
330 friend struct det::ComponentUpdater;
379 #endif // _mdet_SiPM_h
double TimeSpaceEvaluate(double t) const
Evaluates the pulse in the time-space.
static const char *const kComponentName
utl::Validated< double > fPulseAmplitude1Mean
double GetAmplitude2() const
utl::Validated< double > fPulseTime4Mean
utl::Validated< double > fPulseTime1StdDev
double GetFallTime3() const
double GetFallTime2() const
utl::Validated< double > fPulseTime2Mean
utl::Validated< PulseParametrizationForConfig > fPulseParametrization
double GetFallTime1() const
double GetPulseAmplitude2StdDev() const
Standard deviation of amplitude 2 in PE pulses in Parameter space.
double GetPulseRelevantWidth() const
Pulse relevant time width.
Defines within it the common (templated) type for muon detector hierarchy components.
utl::Validated< double > fPulseTime3Mean
double GetPulseTime1Mean() const
Mean time 1 of PE pulses in Parameter space.
double GetStartTime() const
utl::Validated< double > fPulseAmplitude2StdDev
utl::ShadowPtr< IdsContainer > fChannelSiPMScintillatorFiberIds
Container for indices of corresponding Channel, Scintillator, Fiber.
const IdsContainer & GetChannelSiPMScintillatorFiberIds() const
Indices for Channel, Scintillator, Fiber of corrresponding Pixel.
const SiPMArray & GetSiPMArray() const
SiPM(int pId, const det::VManager::IndexMap &parentMap, const SiPMArray &parent)
Constructs the SiPM.
const char * PulseParametrizationForConfig
Alias for a type considered within the config hierarchy, to be converted to the actual enum...
static const int kOverallSign
Overall sign of the pulses.
double GetPulseAmplitude2Mean() const
Mean amplitude 2 of PE pulses in Parameter space.
utl::Validated< double > fPulseAmplitude3StdDev
utl::Validated< double > fPulseTime2StdDev
double GetRiseTime() const
double GetPulseTime4Mean() const
Mean time 4 of PE pulses in Parameter space.
a t3: algo, second, usecond and a vector of <t3stat>
double GetPulseTime3Mean() const
Mean time 3 of PE pulses in Parameter space.
std::vector< int > IdsContainer
Typedef for container of corresponding Channel, Scintillator, Fiber indices.
utl::Validated< double > fPulseRelevantWidth
utl::Validated< double > fPulseAmplitude3Mean
const SiPMArray & fSiPMArray
double GetPulseAmplitude1StdDev() const
Standard deviation of amplitude 1 in PE pulses in Parameter space.
double GetPulseAmplitude1Mean() const
Mean amplitude 1 of PE pulses in Parameter space.
utl::Validated< double > fPulseAmplitude1StdDev
double GetPulseTime2Mean() const
Mean time 2 of PE pulses in Parameter space.
PE(const SiPM &sipm, double a1, double a2, double a3, double t1, double t2, double t3, double t4, double t0)
Construct with the parameters.
double GetPulseTime4StdDev() const
Standard deviation of time 4 in PE pulses in Parameter space.
std::string const
Returns the message that identifies this component.
double GetPulseTime3StdDev() const
Standard deviation of time 3 in PE pulses in Parameter space.
utl::Validated< double > fPulseTime4StdDev
std::map< std::string, std::string > IndexMap
double LowerLimit() const
Returns the lower temporal limit.
utl::Validated< double > fPulseTime3StdDev
static const char *const kComponentId
PE MakePEAt(double t) const
Constructs an PE according to this SiPM characteristics.
double GetAmplitude1() const
double GetPulseTime2StdDev() const
Standard deviation of time 2 in PE pulses in Parameter space.
double GetAmplitude3() const
Type
The type of file that we are acutally opening.
utl::Validated< double > fPulseTime1Mean
utl::Validated< double > fPulseAmplitude2Mean
double GetPulseAmplitude3Mean() const
Mean amplitude 3 of PE pulses in Parameter space.
friend void boost::checked_delete(T *) BOOST_NOEXCEPT
Friendship for destruction.
double UpperLimit() const
Returns the (for all practical purposes) upper temporal limit of the pulse.
double GetPulseAmplitude3StdDev() const
Standard deviation of amplitude 3 in PE pulses in Parameter space.
double GetPulseTime1StdDev() const
Standard deviation of time 1 in PE pulses in Parameter space.
The child the information from the parent upon construction.
void Update(bool invalidateData, bool invalidateComponents)