#include "mdet/Pixel.h"
Classes | |
class | SPE |
SPE pulse. More... | |
Public Member Functions | |
AddIdMessage (o) | |
int | GetId () const |
The id of this component. More... | |
const VManager::IndexMap & | GetIdsMap () const |
The id identifying this component within its detector hierarhy. More... | |
const PMT & | GetPMT () const |
SPE | MakeSPEAt (const double t) const |
Constructs an SPE according to this pixel's characteristics. 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[6] |
static const char *const | kComponentName = MHierarchyInfo::kComponentsNames[6] |
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 | |
enum | PulseParametrization { eAmplitudeAndCharge, eAmplitudeAndStandardDeviation, eChargeAndStandardDeviation } |
SPE can be parametrized fixing two of three parameters. More... | |
typedef utl::ConsecutiveEnumFactory < PulseParametrization, eChargeAndStandardDeviation, PulseParametrizationTags > | PulseParametrizationCreator |
Convenience typedef for creation of PulseParametrization enumerators. More... | |
typedef std::string | PulseParametrizationForConfig |
Alias for a type considered within the config hierarchy, to be converted to the actual enum. More... | |
Private Member Functions | |
const IdsContainer & | GetChannelScintillatorFiberIds () const |
Indices for Channel, Scintillator, Fiber of corrresponding Pixel. More... | |
const CrossTalkContainer & | GetNeighborsCrossTalkCorner () const |
Cross-talk coeffcient for neighbors of corner located pixel. More... | |
const CrossTalkContainer & | GetNeighborsCrossTalkInside () const |
Cross-talk coeffcient for neighbors of a pixel located inside the pixel matrix. More... | |
const CrossTalkContainer & | GetNeighborsCrossTalkSide () const |
Cross-talk coeffcient for neighbors of a side (not corner) located pixel. More... | |
double | GetPulseAmplitudeMean () const |
Mean amplitude of SPE pulses. More... | |
double | GetPulseAmplitudeStdDev () const |
Standard deviation of amplitude in SPE pulses. More... | |
double | GetPulseChargeMean () const |
Mean total charge in SPE pulses. More... | |
double | GetPulseChargeStdDev () const |
Standard deviation of total charge in SPE pulses. More... | |
double | GetPulseParametersCorrelation () const |
The correlation between the two selected parameters. More... | |
PulseParametrization | GetPulseParametrization () const |
Type of SPE parametrization actually employed. More... | |
double | GetPulseRelevantWidth () const |
Pulse relevant time width. More... | |
double | GetPulseStdDevMean () const |
Mean standard deviation in SPE pulses (time spread). More... | |
double | GetPulseStdDevStdDev () const |
Standard deviation of time spread in SPE pulses. More... | |
Pixel (const int pId, const det::VManager::IndexMap &parentMap, const PMT &parent) | |
Constructs the pixel. More... | |
void | Update (const bool invalidateData, const bool invalidateComponents) |
~Pixel () | |
Private Attributes | |
utl::ShadowPtr< IdsContainer > | fChannelScintillatorFiberIds |
Container for indices of corresponding Channel, Scintillator, Fiber. More... | |
utl::Validated< double > | fCrossTalkNormalizationFactor |
Conversion factor to percentual values. Handled within mdet::PMT. More... | |
NeighborsContainer | fNeighbors |
Neighbors. More... | |
utl::ShadowPtr < CrossTalkContainer > | fNeighborsCrossTalk |
Container for cross-talk coefficients. More... | |
const PMT & | fPMT |
utl::Validated< double > | fPulseAmplitudeMean |
utl::Validated< double > | fPulseAmplitudeStdDev |
utl::Validated< double > | fPulseChargeMean |
utl::Validated< double > | fPulseChargeStdDev |
utl::Validated< double > | fPulseParametersCorrelation |
utl::Validated < PulseParametrizationForConfig > | fPulseParametrization |
utl::Validated< double > | fPulseRelevantWidth |
utl::Validated< double > | fPulseStdDevMean |
utl::Validated< double > | fPulseStdDevStdDev |
Static Private Attributes | |
static const char *const | PulseParametrizationTags [] |
Tags for textual representation. More... | |
Friends | |
template<class T > | |
void | boost::checked_delete (T *) BOOST_NOEXCEPT |
Friendship for destruction. Depends on det::ComponentGroup innards. More... | |
struct | det::ComponentUpdater |
See mdet::Counter. More... | |
struct | det::ParentCreator |
Friendship to allow creation (or call it construction). More... | |
class | Module |
Friendship to allow id management. More... | |
class | PMT |
Friendship to allow neighbors and cross-talk management. More... | |
class | utl::ConsecutiveEnumFactory< PulseParametrization, eChargeAndStandardDeviation, PulseParametrizationTags > |
Provide access to the factory. More... | |
PMT pixel.
Pixel within a photo-multiplier tube.
Definition at line 49 of file MDetector/Pixel.h.
|
private |
Convenience typedef for creation of PulseParametrization enumerators.
Definition at line 218 of file MDetector/Pixel.h.
|
private |
Alias for a type considered within the config hierarchy, to be converted to the actual enum.
Definition at line 396 of file MDetector/Pixel.h.
|
private |
SPE can be parametrized fixing two of three parameters.
This enumeration determines which parameters are taken in order to determine the SPE structure: the current SPE has three parameters, fixing two determines the third. The gaussian pulses have amplitude, charge (integral over the whole x-axis) and standard deviation. The mean value doesn't matter in order to determine the shape of the pulse.
The configuration is accessed by getters defined for each one of the three parameters; given a particular value configured for the type of parametrization only two of them will be called.
Enumerator | |
---|---|
eAmplitudeAndCharge |
Amplitude and charge. |
eAmplitudeAndStandardDeviation |
Amplitude and standard deviation. |
eChargeAndStandardDeviation |
Charge and standard deviation. |
Definition at line 200 of file MDetector/Pixel.h.
|
private |
Constructs the pixel.
pId | The identifier to be used. |
parentMap | The identifiers of the parent within the hierarchy. |
parent | The parent mdet::PMT. |
A reference to the parent is kept in this class and part of the construction is delegated to the first super-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 30 of file MDetector/Pixel.cc.
|
inlineprivate |
Definition at line 315 of file MDetector/Pixel.h.
|
inherited |
|
private |
Indices for Channel, Scintillator, Fiber of corrresponding Pixel.
Definition at line 71 of file MDetector/Pixel.cc.
References fChannelScintillatorFiberIds.
Referenced by mdet::Module::Update().
|
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(), mdet::FrontEnd::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(), mdet::FrontEnd::GetMeanSampleRatePeriod(), mdet::FrontEndSiPM::GetMeanSampleRatePeriod(), mdet::BackEndSiPM::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(), GetPulseAmplitudeMean(), GetPulseAmplitudeStdDev(), GetPulseChargeMean(), GetPulseChargeStdDev(), GetPulseParametersCorrelation(), GetPulseParametrization(), mdet::SiPM::GetPulseRelevantWidth(), GetPulseRelevantWidth(), GetPulseStdDevMean(), 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(), 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(), mdet::FrontEnd::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.
|
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(), mdet::FrontEnd::Update(), mdet::FrontEndSiPM::Update(), mdet::PMT::Update(), and mdet::Module::Update().
|
private |
Cross-talk coeffcient for neighbors of corner located pixel.
This data is managed by mdet::PMT.
Definition at line 63 of file MDetector/Pixel.cc.
References fNeighborsCrossTalk.
Referenced by mdet::PMT::GetCrossTalk(), and mdet::PMT::GetCrossTalkNormalizationFactor().
|
private |
Cross-talk coeffcient for neighbors of a pixel located inside the pixel matrix.
The length has to be the same for every Pixel, be it in the border or not. This data is managed by mdet::PMT.
Definition at line 46 of file MDetector/Pixel.cc.
References fNeighborsCrossTalk.
Referenced by mdet::PMT::GetCrossTalk(), and mdet::PMT::GetCrossTalkNormalizationFactor().
|
private |
Cross-talk coeffcient for neighbors of a side (not corner) located pixel.
This data is managed by mdet::PMT.
Definition at line 55 of file MDetector/Pixel.cc.
References fNeighborsCrossTalk.
Referenced by mdet::PMT::GetCrossTalk(), and mdet::PMT::GetCrossTalkNormalizationFactor().
Definition at line 56 of file MDetector/Pixel.h.
References fPMT.
Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::OptoElectronics(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEventScintillatorSimulated(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
private |
Mean amplitude of SPE pulses.
Definition at line 86 of file MDetector/Pixel.cc.
References fPulseAmplitudeMean, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
|
private |
Standard deviation of amplitude in SPE pulses.
Definition at line 93 of file MDetector/Pixel.cc.
References fPulseAmplitudeStdDev, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
|
private |
Mean total charge in SPE pulses.
Definition at line 114 of file MDetector/Pixel.cc.
References fPulseChargeMean, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
|
private |
Standard deviation of total charge in SPE pulses.
Definition at line 121 of file MDetector/Pixel.cc.
References fPulseChargeStdDev, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
|
private |
The correlation between the two selected parameters.
Definition at line 128 of file MDetector/Pixel.cc.
References fPulseParametersCorrelation, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
|
private |
Type of SPE parametrization actually employed.
Definition at line 79 of file MDetector/Pixel.cc.
References utl::ConsecutiveEnumFactory< EnumType, last, tags, NoConversionPolicy, first >::Create(), fPulseParametrization, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
|
private |
Pulse relevant time width.
This magnitude expressed in units of sigma. Mathematically the pulse may last forever, tough computationally it's needed to restrict the interval. Given a particular pulse, with s as sigma and m as mean (center value) and w as this relevant width, then the pulse is taken to last from
to
Definition at line 135 of file MDetector/Pixel.cc.
References fPulseRelevantWidth, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by mdet::Pixel::SPE::LowerLimit().
|
private |
Mean standard deviation in SPE pulses (time spread).
Definition at line 100 of file MDetector/Pixel.cc.
References fPulseStdDevMean, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
|
private |
Standard deviation of time spread in SPE pulses.
Definition at line 107 of file MDetector/Pixel.cc.
References fPulseStdDevStdDev, and det::DetectorComponent< C, ManagerProvider >::GetData().
Referenced by MakeSPEAt().
Pixel::SPE mdet::Pixel::MakeSPEAt | ( | const double | t | ) | const |
Constructs an SPE according to this pixel's characteristics.
t | The time at which the SPE is to be constructed. |
Definition at line 142 of file MDetector/Pixel.cc.
References RdGeoCeLDFFitter::a, eAmplitudeAndCharge, eAmplitudeAndStandardDeviation, eChargeAndStandardDeviation, fwk::RandomEngineRegistry::eDetector, utl::RandomEngine::GetEngine(), GetPulseAmplitudeMean(), GetPulseAmplitudeStdDev(), GetPulseChargeMean(), GetPulseChargeStdDev(), GetPulseParametersCorrelation(), GetPulseParametrization(), GetPulseStdDevMean(), GetPulseStdDevStdDev(), utl::kTwoPi, G4StationSimulatorOG::p, utl::s, and sqrt().
Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::OptoElectronics(), MdCounterSimulatorAG::MdCounterSimulator::RunFromMEventScintillatorSimulated(), and MdCounterSimulatorAG::MdCounterSimulator::SimulatePulses().
|
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 |
Definition at line 238 of file MDetector/Pixel.cc.
References fChannelScintillatorFiberIds, fNeighborsCrossTalk, and Update().
|
friend |
Friendship for destruction. Depends on det::ComponentGroup innards.
|
friend |
See mdet::Counter.
Definition at line 362 of file MDetector/Pixel.h.
|
friend |
Friendship to allow creation (or call it construction).
Definition at line 346 of file MDetector/Pixel.h.
|
friend |
Friendship to allow id management.
Definition at line 359 of file MDetector/Pixel.h.
|
friend |
Friendship to allow neighbors and cross-talk management.
Definition at line 356 of file MDetector/Pixel.h.
|
friend |
Provide access to the factory.
Definition at line 226 of file MDetector/Pixel.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 |
Container for indices of corresponding Channel, Scintillator, Fiber.
Definition at line 401 of file MDetector/Pixel.h.
Referenced by GetChannelScintillatorFiberIds(), and Update().
|
mutableprivate |
Conversion factor to percentual values. Handled within mdet::PMT.
Definition at line 390 of file MDetector/Pixel.h.
Referenced by mdet::PMT::GetCrossTalkNormalizationFactor().
|
private |
Neighbors.
This datum is handled by the parent PMT is kept here as a means to, say, constraint the lifetime of this data to the pixel itself; also, putting this here avoids PMT to store the information in some container (so it works kinda an intrusive mechanism). As long the containg PMT exists this data won't be invalidated (the neigbors will exist), and if the PMT exists this Pixel also will do.
Definition at line 376 of file MDetector/Pixel.h.
Referenced by mdet::PMT::GetCrossTalk(), mdet::PMT::GetCrossTalkNormalizationFactor(), mdet::PMT::IsNeighbor(), mdet::PMT::NeighborsBegin(), and mdet::PMT::NeighborsEnd().
|
mutableprivate |
Container for cross-talk coefficients.
This datum is shared among the different getters. For a given instance, only of the getter should be called.
Definition at line 384 of file MDetector/Pixel.h.
Referenced by GetNeighborsCrossTalkCorner(), GetNeighborsCrossTalkInside(), GetNeighborsCrossTalkSide(), and Update().
Definition at line 419 of file MDetector/Pixel.h.
Referenced by GetPMT().
|
mutableprivate |
Definition at line 403 of file MDetector/Pixel.h.
Referenced by GetPulseAmplitudeMean().
|
mutableprivate |
Definition at line 405 of file MDetector/Pixel.h.
Referenced by GetPulseAmplitudeStdDev().
|
mutableprivate |
Definition at line 411 of file MDetector/Pixel.h.
Referenced by GetPulseChargeMean().
|
mutableprivate |
Definition at line 413 of file MDetector/Pixel.h.
Referenced by GetPulseChargeStdDev().
|
mutableprivate |
Definition at line 415 of file MDetector/Pixel.h.
Referenced by GetPulseParametersCorrelation().
|
mutableprivate |
Definition at line 398 of file MDetector/Pixel.h.
Referenced by GetPulseParametrization().
|
mutableprivate |
Definition at line 417 of file MDetector/Pixel.h.
Referenced by GetPulseRelevantWidth().
|
mutableprivate |
Definition at line 407 of file MDetector/Pixel.h.
Referenced by GetPulseStdDevMean().
|
mutableprivate |
Definition at line 409 of file MDetector/Pixel.h.
Referenced by GetPulseStdDevStdDev().
|
static |
Definition at line 54 of file MDetector/Pixel.h.
|
static |
Definition at line 52 of file MDetector/Pixel.h.
Tags for textual representation.
Definition at line 207 of file MDetector/Pixel.h.
|
protectedinherited |
Definition at line 257 of file DetectorComponent.h.
Referenced by MdOptoElectronicSimulatorAG::MdOptoElectronicSimulator::SimulateElectronics(), and MdCounterSimulatorAG::MdCounterSimulator::SimulateElectronics().