Eye_ROOT.cc
Go to the documentation of this file.
1 #include <io/Eye_ROOT.h>
2 #include <fevt/Eye.h>
3 #include <io/EyeRecData_ROOT.h>
4 #include <io/EyeTriggerData_ROOT.h>
5 #include <io/EyeHeader_ROOT.h>
6 #include <io/StreamerUtilities.h>
7 
8 using namespace io;
9 
10 
11 ClassImp(Eye_ROOT)
12 
13 
15 {
16  delete fRecData;
17  delete fTriggerData;
18  delete fHeader;
19 }
20 
21 
22 Eye_ROOT&
24 {
25  if (this != &e) {
26  fId = e.fId;
31  fStatus = e.fStatus;
32  }
33  return *this;
34 }
35 
36 
38  fId(e.GetId()),
39  fTelescopes(e.TelescopesBegin(fevt::ComponentSelector::eExists),
40  e.TelescopesEnd(fevt::ComponentSelector::eExists)),
41  fStatus(e.GetStatus())
42 {
43  if (!fStatus)
44  fStatus = -1;
45  if (e.HasRecData())
47  if (e.HasTriggerData())
49  if (e.HasHeader())
51 }
52 
53 
54 void
56  const
57 {
58  if (fStatus == -1)
59  e.SetStatus(static_cast<fevt::ComponentSelector::Status>(0));
60  else if (!fStatus)
62  else
63  e.SetStatus(static_cast<fevt::ComponentSelector::Status>(fStatus));
64 
65  if (fHeader) {
66  if (!e.HasHeader())
67  e.MakeHeader();
68  *fHeader >> e.GetHeader();
69  }
70 
71  for (const auto& t : fTelescopes) {
72  e.MakeTelescope(t.fTelescopeId);
73  t >> e.GetTelescope(t.fTelescopeId);
74  }
75 
76  if (fRecData) {
77  e.MakeRecData();
78  *fRecData >> e.GetRecData();
79  }
80 
81  if (fTriggerData) {
82  e.MakeTriggerData();
84  }
85 }
Telescope & GetTelescope(const unsigned int telescopeId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Retrieve Telescope by Id, throw exception if not existent.
Definition: FEvent/Eye.cc:57
std::vector< Telescope_ROOT > fTelescopes
Definition: Eye_ROOT.h:44
EyeRecData_ROOT * fRecData
Definition: Eye_ROOT.h:41
bool HasHeader() const
Definition: FEvent/Eye.h:104
fevt::EyeHeader & GetHeader()
Header for this Eye Event.
Definition: FEvent/Eye.cc:180
bool HasRecData() const
Definition: FEvent/Eye.h:116
Fluorescence Detector Eye Event.
Definition: FEvent/Eye.h:29
void ConvertCopy(T *&destination, const U &source)
void MakeRecData()
Definition: FEvent/Eye.cc:145
void MakeTelescope(const unsigned int telescopeId, const ComponentSelector::Status status=ComponentSelector::eHasData)
Make Telescope telescopeId.
Definition: FEvent/Eye.cc:102
void SetStatus(const ComponentSelector::Status status)
Definition: FEvent/Eye.h:119
void DeepCopy(T *&destination, U *const source)
EyeHeader_ROOT * fHeader
Definition: Eye_ROOT.h:43
void operator>>(fevt::Eye &e) const
Definition: Eye_ROOT.cc:55
int fStatus
Definition: Eye_ROOT.h:45
bool HasTriggerData() const
Definition: FEvent/Eye.h:110
void MakeHeader()
Definition: FEvent/Eye.cc:195
Eye_ROOT & operator=(const Eye_ROOT &e)
Definition: Eye_ROOT.cc:23
Eye Class being actually streamed when using ROOT IO.
Definition: Eye_ROOT.h:28
fevt::EyeTriggerData & GetTriggerData()
Trigger data for this eye.
Definition: FEvent/Eye.cc:155
EyeTriggerData_ROOT * fTriggerData
Definition: Eye_ROOT.h:42
void MakeTriggerData()
Definition: FEvent/Eye.cc:170
fevt::EyeRecData & GetRecData()
Reconstructed data for this eye.
Definition: FEvent/Eye.cc:130

, generated on Tue Sep 26 2023.