1 #ifndef _cevt_PadSimData_h_
2 #define _cevt_PadSimData_h_
5 #include <boost/iterator/transform_iterator.hpp>
7 #include <utl/ShadowPtr.h>
8 #include <utl/TimeStamp.h>
9 #include <cevt/StationConstants.h>
10 #include <utl/MultiTimeDistribution.h>
17 class cevtPadSimData_ROOT;
utl::MultiTimeDistributionI::ConstIterator ConstParticleTimeDistributionsIterator
Const iterator over available Particle time distribution sources.
bool HasChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Check if Pad signal already exists (optionally for a given source)
pointer with built-in initialization, deletion, deep copying
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::iterator, LabeledObjectType > Iterator
ConstHitsTimeDistributionsIterator HitsTimeDistributionsBegin() const
Const begin iterator over available digitized PAD signal sources.
HitsTimeDistributionsIterator HitsTimeDistributionsEnd()
End iterator over available digitized PAD signal sources.
const utl::TimeDistributionD & GetChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Get simulated signal at the Pad.
ParticleTimeDistributionsIterator ParticleTimeDistributionsEnd()
End iterator over Particle time distribution sources.
utl::TimeDistributionD & GetChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Get simulated signal at the Pad base, optionally for a given source.
utl::InitializedShadowPtr< utl::MultiTimeDistributionI > fHitsTimeDistribution
utl::TimeDistributionI & GetHitsTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
ConstChargeTimeDistributionsIterator ChargeTimeDistributionsEnd() const
Const end iterator over Pad base signal sources.
Histogram class for time distributions with suppressed empty bins.
bool HasHitsTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Check if the digitized PAD signal (optionally for a given source)
ChargeTimeDistributionsIterator ChargeTimeDistributionsBegin()
Begin iterator over Pad base signal sources.
ParticleTimeDistributionsIterator ParticleTimeDistributionsBegin()
Begin iterator over Particle time distribution sources.
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::const_iterator, LabeledObjectType > ConstIterator
Class to hold simulated data at Pad level.
class to hold data at Pad level
utl::TimeDistributionI & GetParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Simulated particle time distribution.
Persistent RPC PadSimData using ROOT.
static const char CvsId_cevt_PadSimData[]
utl::InitializedShadowPtr< utl::MultiTimeDistributionD > fChargeTimeDistribution
utl::InitializedShadowPtr< utl::MultiTimeDistributionI > fParticleTimeDistribution
utl::MultiTimeDistributionI::Iterator HitsTimeDistributionsIterator
Iterator over available digitized PAD signal sources.
HitsTimeDistributionsIterator HitsTimeDistributionsBegin()
Begin iterator over available digitized PAD signal sources.
utl::MultiTimeDistributionI::ConstIterator ConstHitsTimeDistributionsIterator
Const iterator over available digitized PAD signal sources.
bool HasParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Check if a Particle release time distribution exists (optionally for a given source) ...
void MakeHitsTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Create a TimeDistributionI representing binary signal after digitization of PAD signal (optionally fo...
void ClearChargeTimeDistributions()
Remove signal at Pad.
utl::MultiTimeDistributionI::Iterator ParticleTimeDistributionsIterator
Iterator over available Particle time distribution sources. See utl::MultiTimeDistribution.
ChargeTimeDistributionsIterator ChargeTimeDistributionsEnd()
End iterator over Pad base signal sources.
ConstParticleTimeDistributionsIterator ParticleTimeDistributionsBegin() const
Begin iterator over Particle time distribution sources.
ConstHitsTimeDistributionsIterator HitsTimeDistributionsEnd() const
Const end iterator over available digitized PAD signal sources.
total (shower and background)
const utl::TimeDistributionI & GetHitsTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
get const simulated signal after the filter
const utl::TimeDistributionI & GetParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Simulated particle time distribution.
void MakeParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Create a Particle release time distribution (optionally for given source)
ConstChargeTimeDistributionsIterator ChargeTimeDistributionsBegin() const
Const begin iterator over Pad base signal sources.
ConstParticleTimeDistributionsIterator ParticleTimeDistributionsEnd() const
End iterator over Particle time distribution sources.
utl::MultiTimeDistributionD::Iterator ChargeTimeDistributionsIterator
Iterator over available Pad base signal sources.
void MakeChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Create a TimeDistributionD representing signal at Pad (optionally for a give source) ...
utl::MultiTimeDistributionD::ConstIterator ConstChargeTimeDistributionsIterator
Const iterator over available Pad base signal sources.