PadSimData.h
Go to the documentation of this file.
1 #ifndef _cevt_PadSimData_h_
2 #define _cevt_PadSimData_h_
3 
4 #include <vector>
5 #include <boost/iterator/transform_iterator.hpp>
6 
7 #include <utl/ShadowPtr.h>
8 #include <utl/TimeStamp.h>
9 #include <cevt/StationConstants.h>
10 #include <utl/MultiTimeDistribution.h>
11 
12 static const char CvsId_cevt_PadSimData[] =
13  "$Id$";
14 
15 
16 namespace io {
17  class cevtPadSimData_ROOT;
18 }
19 
20 namespace cevt {
21 
22  class Pad;
23 
24 
39  class PadSimData {
40 
41  public:
42 
44 
45 
49  { return fParticleTimeDistribution->GetTimeDistribution(source); }
50 
54  { return fParticleTimeDistribution->GetTimeDistribution(source); }
55 
58 
61  { return fParticleTimeDistribution->HasLabel(source); }
62 
65 
68 
71 
74 
77 
81 
82 
84 
85 
87 
94  { return fChargeTimeDistribution->GetTimeDistribution(source); }
95 
99  { return fChargeTimeDistribution->GetTimeDistribution(source); }
100 
103 
106  { return fChargeTimeDistribution->HasLabel(source); }
107 
110 
113 
116 
119 
122 
125 
129 
131 
132 
135  { return fHitsTimeDistribution->GetTimeDistribution(source); }
136 
138  const utl::TimeDistributionI&
140  { return fHitsTimeDistribution->GetTimeDistribution(source); }
141 
144 
147  { return fHitsTimeDistribution->HasLabel(source); }
148 
151 
154 
157 
160 
163 
167 
168  private:
171 
175 
176  friend class cevt::Pad;
177  friend class utl::ShadowPtr<cevt::PadSimData>;
179  };
180 
181 }
182 
183 
184 #endif
185 
186 // Configure (x)emacs for this file ...
187 // Local Variables:
188 // mode: c++
189 // End:
utl::MultiTimeDistributionI::ConstIterator ConstParticleTimeDistributionsIterator
Const iterator over available Particle time distribution sources.
Definition: PadSimData.h:67
bool HasChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Check if Pad signal already exists (optionally for a given source)
Definition: PadSimData.h:105
pointer with built-in initialization, deletion, deep copying
Definition: ShadowPtr.h:163
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::iterator, LabeledObjectType > Iterator
Definition: MultiObject.h:78
ConstHitsTimeDistributionsIterator HitsTimeDistributionsBegin() const
Const begin iterator over available digitized PAD signal sources.
Definition: PadSimData.h:159
HitsTimeDistributionsIterator HitsTimeDistributionsEnd()
End iterator over available digitized PAD signal sources.
Definition: PadSimData.h:162
const utl::TimeDistributionD & GetChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Get simulated signal at the Pad.
Definition: PadSimData.h:98
ParticleTimeDistributionsIterator ParticleTimeDistributionsEnd()
End iterator over Particle time distribution sources.
Definition: PadSimData.h:76
utl::TimeDistributionD & GetChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Get simulated signal at the Pad base, optionally for a given source.
Definition: PadSimData.h:93
utl::InitializedShadowPtr< utl::MultiTimeDistributionI > fHitsTimeDistribution
Definition: PadSimData.h:174
utl::TimeDistributionI & GetHitsTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Definition: PadSimData.h:134
ConstChargeTimeDistributionsIterator ChargeTimeDistributionsEnd() const
Const end iterator over Pad base signal sources.
Definition: PadSimData.h:127
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)
Definition: PadSimData.h:146
ChargeTimeDistributionsIterator ChargeTimeDistributionsBegin()
Begin iterator over Pad base signal sources.
Definition: PadSimData.h:118
ParticleTimeDistributionsIterator ParticleTimeDistributionsBegin()
Begin iterator over Particle time distribution sources.
Definition: PadSimData.h:70
boost::transform_iterator< LabeledObjectFunctor, typename MultiObjectContainer::const_iterator, LabeledObjectType > ConstIterator
Definition: MultiObject.h:81
Class to hold simulated data at Pad level.
Definition: PadSimData.h:39
class to hold data at Pad level
Definition: Pad.h:27
utl::TimeDistributionI & GetParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Simulated particle time distribution.
Definition: PadSimData.h:48
Persistent RPC PadSimData using ROOT.
static const char CvsId_cevt_PadSimData[]
Definition: PadSimData.h:12
utl::InitializedShadowPtr< utl::MultiTimeDistributionD > fChargeTimeDistribution
Definition: PadSimData.h:173
utl::InitializedShadowPtr< utl::MultiTimeDistributionI > fParticleTimeDistribution
Definition: PadSimData.h:172
utl::MultiTimeDistributionI::Iterator HitsTimeDistributionsIterator
Iterator over available digitized PAD signal sources.
Definition: PadSimData.h:150
HitsTimeDistributionsIterator HitsTimeDistributionsBegin()
Begin iterator over available digitized PAD signal sources.
Definition: PadSimData.h:156
utl::MultiTimeDistributionI::ConstIterator ConstHitsTimeDistributionsIterator
Const iterator over available digitized PAD signal sources.
Definition: PadSimData.h:153
bool HasParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Check if a Particle release time distribution exists (optionally for a given source) ...
Definition: PadSimData.h:60
void MakeHitsTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Create a TimeDistributionI representing binary signal after digitization of PAD signal (optionally fo...
Definition: PadSimData.cc:33
void ClearChargeTimeDistributions()
Remove signal at Pad.
Definition: PadSimData.cc:27
utl::MultiTimeDistributionI::Iterator ParticleTimeDistributionsIterator
Iterator over available Particle time distribution sources. See utl::MultiTimeDistribution.
Definition: PadSimData.h:64
ChargeTimeDistributionsIterator ChargeTimeDistributionsEnd()
End iterator over Pad base signal sources.
Definition: PadSimData.h:124
ConstParticleTimeDistributionsIterator ParticleTimeDistributionsBegin() const
Begin iterator over Particle time distribution sources.
Definition: PadSimData.h:73
ConstHitsTimeDistributionsIterator HitsTimeDistributionsEnd() const
Const end iterator over available digitized PAD signal sources.
Definition: PadSimData.h:165
total (shower and background)
const utl::TimeDistributionI & GetHitsTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
get const simulated signal after the filter
Definition: PadSimData.h:139
const utl::TimeDistributionI & GetParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Simulated particle time distribution.
Definition: PadSimData.h:53
void MakeParticleTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Create a Particle release time distribution (optionally for given source)
Definition: PadSimData.cc:14
ConstChargeTimeDistributionsIterator ChargeTimeDistributionsBegin() const
Const begin iterator over Pad base signal sources.
Definition: PadSimData.h:121
ConstParticleTimeDistributionsIterator ParticleTimeDistributionsEnd() const
End iterator over Particle time distribution sources.
Definition: PadSimData.h:79
utl::MultiTimeDistributionD::Iterator ChargeTimeDistributionsIterator
Iterator over available Pad base signal sources.
Definition: PadSimData.h:112
void MakeChargeTimeDistribution(const StationConstants::SignalComponent source=StationConstants::eTotal)
Create a TimeDistributionD representing signal at Pad (optionally for a give source) ...
Definition: PadSimData.cc:21
utl::MultiTimeDistributionD::ConstIterator ConstChargeTimeDistributionsIterator
Const iterator over available Pad base signal sources.
Definition: PadSimData.h:115

, generated on Tue Sep 26 2023.