Channel_ROOT.cc
Go to the documentation of this file.
1 #include <io/Channel_ROOT.h>
2 #include <fevt/ChannelRecData.h>
3 #include <io/ChannelSimData_ROOT.h>
4 #include <io/ChannelRecData_ROOT.h>
5 #include <io/StreamerUtilities.h>
6 
7 using namespace io;
8 
9 
10 ClassImp(Channel_ROOT)
11 
12 
14 {
15  delete fSimData;
16  delete fRecData;
17 }
18 
19 
22 {
23  if (this != &c) {
24  fId = c.fId;
26  fEyeId = c.fEyeId;
29  fStatus = c.fStatus;
30  }
31  return *this;
32 }
33 
34 
36  fId(c.GetId()),
37  fTelescopeId(c.GetTelescopeId()),
38  fEyeId(c.GetEyeId()),
39  fSimData(nullptr),
40  fRecData(nullptr),
41  fStatus(c.GetStatus())
42 {
43  if (!fStatus)
44  fStatus = -1;
45 
46  if (c.HasSimData())
48 
49  if (c.HasRecData())
51 }
52 
53 
54 void
56  const
57 {
58  if (fStatus == -1)
59  c.SetStatus(static_cast<fevt::Channel::Status>(0));
60  else if (!fStatus)
62  else
63  c.SetStatus(static_cast<fevt::Channel::Status>(fStatus));
64 
65  if (fSimData) {
66  c.MakeSimData();
67  *fSimData >> c.GetSimData();
68  }
69 
70  if (fRecData) {
71  c.MakeRecData();
72  *fRecData >> c.GetRecData();
73  }
74 }
bool HasRecData() const
ChannelRecData & GetRecData()
void ConvertCopy(T *&destination, const U &source)
Channel_ROOT & operator=(const Channel_ROOT &c)
Definition: Channel_ROOT.cc:21
void SetStatus(Status status)
Persistent Channel class.
Definition: Channel_ROOT.h:25
ChannelSimData & GetSimData()
void operator>>(fevt::Channel &c) const
Definition: Channel_ROOT.cc:55
bool HasSimData() const
void DeepCopy(T *&destination, U *const source)
ChannelSimData_ROOT * fSimData
Definition: Channel_ROOT.h:41
Fluorescence Detector Channel Event.
int GetId() const
Get the station Id.
utl::ShadowPtr< StationRecData > fRecData
fTelescopeId(t.GetTelescopeId())
void MakeSimData()
ChannelRecData_ROOT * fRecData
Definition: Channel_ROOT.h:42
utl::ShadowPtr< StationSimData > fSimData

, generated on Tue Sep 26 2023.