cevtPad_ROOT.cc
Go to the documentation of this file.
1 #include <io/cevtPad_ROOT.h>
2 #include <io/cevtPadSimData_ROOT.h>
3 #include <io/cevtPadRecData_ROOT.h>
4 #include <io/StreamerUtilities.h>
5 
6 using namespace io;
7 using namespace cevt;
8 
9 
10 ClassImp(cevtPad_ROOT)
11 
12 
14 {
15  delete fHits;
16  delete fPadSimData;
17  delete fPadRecData;
18 }
19 
20 
23 {
24  if (this != &p) {
25  fId = p.fId;
26  fStationId = p.fStationId;
27 
28  DeepCopy(fHits, p.fHits);
29 
30  DeepCopy(fPadSimData, p.fPadSimData);
31  DeepCopy(fPadRecData, p.fPadRecData);
32  }
33  return *this;
34 }
35 
36 
38  fId(p.GetId())
39 {
40  // Digitized signals
41  //
42  if (p.HasHits())
43  fHits =
45 
46  // PadSimData
47  //
48  if (p.HasSimData())
50 
51  // PadRecData
52  //
53  if (p.HasRecData())
55 }
56 
57 
58 void
60  const
61 {
62  if (fHits) {
63  for (const auto& st : fHits->fTimeDistributions) {
64  //utl::TimeDistributionI t(st.second.fSlotSize);
65  //st.second >> t;
66 
67  const StationConstants::SignalComponent source =
68  static_cast<StationConstants::SignalComponent>(st.first);
69 
70  if (!p.HasHits(source))
71  p.MakeHits(source);
72  st.second >> p.GetHits(source);
73  }
74  }
75  if (fPadSimData) {
76  if (!p.HasSimData())
77  p.MakeSimData();
78  *fPadSimData >> p.GetSimData();
79  }
80  if (fPadRecData) {
81  if (!p.HasRecData())
82  p.MakeRecData();
83  *fPadRecData >> p.GetRecData();
84  }
85 }
cevtPad_ROOT & operator=(const cevtPad_ROOT &p)
Definition: cevtPad_ROOT.cc:22
HitsIterator HitsBegin()
Definition: Pad.h:85
bool HasHits(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Check if a digitized signal exists. Source may be specified.
Definition: Pad.h:74
cevtPadRecData_ROOT * fPadRecData
Definition: cevtPad_ROOT.h:51
void ConvertCopy(T *&destination, const U &source)
bool HasRecData() const
Check for existence of Pad reconstructed data object.
Definition: Pad.h:58
cevtPadSimData_ROOT * fPadSimData
Definition: cevtPad_ROOT.h:50
class to hold data at Pad level
Definition: Pad.h:27
Persistent RPC Pad using ROOT.
Definition: cevtPad_ROOT.h:29
PadRecData & GetRecData()
Get object containing Pad reconstructed data.
Definition: Pad.h:51
utl::TimeDistributionI & GetHits(const StationConstants::SignalComponent source=StationConstants::eTotal)
Get time distribution of hits, optionally specifying the source.
Definition: Pad.h:64
void DeepCopy(T *&destination, U *const source)
MultiTimeDistribution_ROOT< int > MultiTimeDistributionI_ROOT
void MakeRecData()
Make Pad reconstructed data object.
Definition: Pad.cc:49
void MakeHits(const StationConstants::SignalComponent source=StationConstants::eTotal)
Make a time distribution. Source may be specified.
Definition: Pad.cc:59
void MakeSimData()
Make Pad simulated data object.
Definition: Pad.cc:39
std::map< int, io::TimeDistribution_ROOT< T > > fTimeDistributions
MultiTimeDistributionI_ROOT * fHits
Definition: cevtPad_ROOT.h:46
void operator>>(cevt::Pad &p) const
Definition: cevtPad_ROOT.cc:59
HitsIterator HitsEnd()
Definition: Pad.h:86
PadSimData & GetSimData()
Get object containing Pad simulated data.
Definition: Pad.h:41
bool HasSimData() const
Check for existence of Pad simulated data object.
Definition: Pad.h:48

, generated on Tue Sep 26 2023.