cevtStation_ROOT.cc
Go to the documentation of this file.
1 #include <utl/TimeStamp.h>
2 
3 #include <io/cevtStation_ROOT.h>
4 #include <io/cevtStationSimData_ROOT.h>
5 #include <io/cevtStationRecData_ROOT.h>
6 
7 using utl::TimeStamp;
8 
9 using namespace io;
10 
11 
12 ClassImp(cevtStation_ROOT)
13 
14 
16 {
17  delete fSimData;
18  delete fRecData;
19  delete fHits;
20 }
21 
22 
25 {
26  if (this != &s) {
27  fId = s.fId;
28  fPads = s.fPads;
33  DeepCopy(fHits, s.fHits);
36  //fGridType = s.fGridType
37  }
38  return *this;
39 }
40 
41 
43  fId(s.GetId()),
44  fPads(s.PadsBegin(), s.PadsEnd()),
45  fRejectionStatus(s.GetRejectionStatus())
46 {
47  if (s.HasSimData())
49 
50  if (s.HasRecData())
52 
54  fHitsStartNanosecond = static_cast<int>(s.GetHitsStartTime().GetGPSNanoSecond());
55 
56  if (s.HasHits())
58 
59  if (s.IsSilent())
61  else if (s.IsRejected())
63  else if (s.IsCandidate())
65 }
66 
67 
68 void
70  const
71 {
72  if (fId != s.GetId())
73  throw utl::IOFailureException("Station id in source and destination are not equal!");
74 
75  for (int i = 0, n = fPads.size(); i < n; ++i)
76  {
77  const cevtPad_ROOT rPad = fPads[i];
78 
79  const int pId = rPad.fId;
80  s.MakePad(pId);
81 
82  rPad >> s.GetPad(pId);
83  }
84 
85  if (fSimData) {
86  if (!s.HasSimData())
87  s.MakeSimData();
88  *fSimData >> s.GetSimData();
89  }
90  if (fRecData) {
91  if (!s.HasRecData())
92  s.MakeRecData();
93  *fRecData >> s.GetRecData();
94  }
95 
97 
98  if (fHits) {
99  for (const auto& st : fHits->fTimeDistributions) {
100  //utl::TimeDistributionI t(st.second.fSlotSize);
101  //st.second >> t;
102 
104  static_cast<cevt::StationConstants::SignalComponent>(st.first);
105 
106  if (!s.HasHits(source))
107  s.MakeHits(source);
108  st.second >> s.GetHits(source);
109  }
110  }
111 
113  s.SetSilent();
117  s.SetCandidate();
118 }
cevtStationRecData_ROOT * fRecData
bool HasSimData() const
Check whether station simulated data exists.
Pad & GetPad(const unsigned int padId)
Retrive a Pad by Id.
utl::TimeStamp GetHitsStartTime() const
Get absolute start time of the hits time distribution.
void SetSilent()
Set silent station flag.
void ConvertCopy(T *&destination, const U &source)
MultiTimeDistributionI_ROOT * fHits
void MakeHits(const SignalComponent source=eTotal)
Make a time distribution. Source may be specified.
bool IsRejected() const
Check if the station is rejected.
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
Base class to report exceptions in IO.
bool IsCandidate() const
Check if the station is a candidate.
bool IsSilent() const
Check if the station is silent.
Persistent RPC Pad using ROOT.
Definition: cevtPad_ROOT.h:29
constexpr double s
Definition: AugerUnits.h:163
HitsIterator HitsBegin()
void SetCandidate()
Set candidate station flag.
void DeepCopy(T *&destination, U *const source)
void SetHitsStartTime(const utl::TimeStamp &Time)
Set absolute start time of the hits time distribution.
int GetId() const
Get the station Id.
unsigned int fHitsStartNanosecond
void MakeRecData()
Make station reconstructed data object.
bool HasHits(const SignalComponent source=eTotal) const
Check if a digitized signal exists. Source may be specified.
StationRecData & GetRecData()
Get station level reconstructed data.
utl::TimeDistributionI & GetHits(const SignalComponent source=eTotal)
Time distribution of hits.
std::vector< cevtPad_ROOT > fPads
MultiTimeDistribution_ROOT< int > MultiTimeDistributionI_ROOT
cevtStation_ROOT & operator=(const cevtStation_ROOT &s)
void SetRejected(const int reason)
Set rejected station flag.
class to hold data at Station level
std::map< int, io::TimeDistribution_ROOT< T > > fTimeDistributions
Persistent Station using ROOT.
unsigned long GetGPSSecond() const
GPS second.
Definition: TimeStamp.h:124
double GetGPSNanoSecond() const
GPS nanosecond.
Definition: TimeStamp.h:127
unsigned int fHitsStartSecond
cevtStationSimData_ROOT * fSimData
HitsIterator HitsEnd()
void operator>>(cevt::Station &s) const
void MakePad(const unsigned int padId)
Make a Pad by Id.
bool HasRecData() const
Check whether station reconstructed data exists.
StationSimData & GetSimData()
Get simulated data at station level.
void MakeSimData()
Make station simulated data object.

, generated on Tue Sep 26 2023.