Module_ROOT.cc
Go to the documentation of this file.
1 #include <io/Module_ROOT.h>
2 #include <io/ModuleSimData_ROOT.h>
3 #include <io/ModuleRecData_ROOT.h>
4 #include <io/StreamerUtilities.h>
5 
6 using namespace io;
7 
8 ClassImp(Module_ROOT)
9 
10 
12 {
13  delete fSimData;
14  delete fRecData;
15 }
16 
17 
20 {
21  if (this != &m) {
22  fId = m.fId;
24  fChannels = m.fChannels;
30  }
31  return *this;
32 }
33 
34 
36  fId(m.GetId()),
37  fRecStatus(m.fRecStatus),
38  fChannels(m.ChannelsBegin(), m.ChannelsEnd()),
39  fScintillators(m.ScintillatorsBegin(), m.ScintillatorsEnd()),
40  fSimData(0),
41  fRecData(0),
42  fIntegratorATrace(m.HasIntegratorATrace() ? TraceUSI_ROOT(m.GetIntegratorATrace()) : TraceUSI_ROOT()),
43  fIntegratorBTrace(m.HasIntegratorBTrace() ? TraceUSI_ROOT(m.GetIntegratorBTrace()) : TraceUSI_ROOT())
44 {
45  if (m.HasSimData())
47  if (m.HasRecData())
49 
50 }
51 
52 
53 void
55  const
56 {
58 
59  // FIXME: temporary solution to adapt old simulation to new reconstructino...
60  // somebody should check is consistent for all Mdsim cases
61  if (!fRecStatus)
62  m.SetCandidate();
63 
64  for (const auto& c : fChannels) {
65  const int id = c.fId;
66  m.MakeChannel(id);
67  c >> m.GetChannel(id);
68  }
69 
70  for (const auto& s : fScintillators) {
71  const int id = s.fId;
72  m.MakeScintillator(id);
73  s >> m.GetScintillator(id);
74  }
75 
76  if (fSimData) {
77  m.MakeSimData();
78  *fSimData >> m.GetSimData();
79  }
80 
81  if (fRecData) {
82  m.MakeRecData();
83  *fRecData >> m.GetRecData();
84  }
85 
86 
87  if (fIntegratorATrace) {
90  }
91 
92  if (fIntegratorBTrace) {
95  }
96 
97 }
98 
TraceUSI_ROOT fIntegratorATrace
Definition: Module_ROOT.h:48
void MakeChannel(const int cId)
Definition: MEvent/Module.h:97
void operator>>(mevt::Module &m) const
Definition: Module_ROOT.cc:54
void MakeScintillator(const int sId)
Persistent ModuleSimData using ROOT.
std::vector< mevtChannel_ROOT > fChannels
Definition: Module_ROOT.h:42
Persistent SD Module using ROOT.
Definition: Module_ROOT.h:28
ModuleRecData_ROOT * fRecData
Definition: Module_ROOT.h:46
std::vector< Scintillator_ROOT > fScintillators
Definition: Module_ROOT.h:43
Scintillator & GetScintillator(const int sId)
bool HasSimData() const
constexpr double s
Definition: AugerUnits.h:163
Module level event data.
Definition: MEvent/Module.h:41
void DeepCopy(T *&destination, U *const source)
Channel & GetChannel(const int cId)
Definition: MEvent/Module.h:95
void MakeSimData()
utl::TraceUSI & GetIntegratorATrace()
void MakeIntegratorATrace()
Persistent ModuleRecData using ROOT.
ModuleRecData & GetRecData()
void MakeIntegratorBTrace()
ModuleSimData & GetSimData()
TraceUSI_ROOT fIntegratorBTrace
Definition: Module_ROOT.h:49
utl::TraceUSI & GetIntegratorBTrace()
bool HasRecData() const
constexpr double m
Definition: AugerUnits.h:121
Module_ROOT & operator=(const Module_ROOT &m)
Definition: Module_ROOT.cc:19
void SetCandidate()
ModuleSimData_ROOT * fSimData
Definition: Module_ROOT.h:45
void MakeRecData()
void SetRecStatus(const int s)

, generated on Tue Sep 26 2023.