sevtScintillator_ROOT.cc
Go to the documentation of this file.
1 #include <io/sevtScintillator_ROOT.h>
2 #include <io/sevtScintillatorSimData_ROOT.h>
3 #include <io/sevtScintillatorRecData_ROOT.h>
4 
5 using namespace io;
6 
7 
8 ClassImp(sevtScintillator_ROOT)
9 
10 
12 {
13  delete fSimData;
14  delete fRecData;
15  delete fMipTrace;
16 }
17 
18 
21 {
22  if (this != &s) {
26  fSaturation[0] = s.fSaturation[0];
27  fSaturation[1] = s.fSaturation[1];
28  }
29  return *this;
30 }
31 
33  fSaturation{s.IsLowGainSaturation(), s.IsHighGainSaturation()}
34 {
35  if (s.HasSimData())
36  ConvertCopy(fSimData, s.GetSimData());
37 
38  if (s.HasRecData())
39  ConvertCopy(fRecData, s.GetRecData());
40 
41  if (s.HasMIPTrace())
42  fMipTrace = new MultiTraceD_ROOT(s.MIPTracesBegin(), s.MIPTracesEnd());
43 }
44 
45 
46 void
48  const
49 {
50 
51  if (fSimData) {
52  s.MakeSimData();
53  *fSimData >> s.GetSimData();
54  }
55 
56  if (fRecData) {
57  s.MakeRecData();
58  *fRecData >> s.GetRecData();
59  }
60 
61  if (fMipTrace) {
62  for (const auto& st : fMipTrace->fTraces) {
63  const auto source = static_cast<sevt::StationConstants::SignalComponent>(st.first);
64  if (!s.HasMIPTrace(source))
65  s.MakeMIPTrace(source);
66  st.second >> s.GetMIPTrace(source);
67  }
68  }
69 
72 }
bool HasMIPTrace(const StationConstants::SignalComponent source=StationConstants::eTotal) const
Check whether VEM trace exists.
ROOT streamer for class Scintillator.
bool IsHighGainSaturation() const
MultiTrace_ROOT< double > MultiTraceD_ROOT
utl::TraceD & GetMIPTrace(const StationConstants::SignalComponent source=StationConstants::eTotal)
FADC trace calibrated in [MIP charge].
void ConvertCopy(T *&destination, const U &source)
ScintillatorRecData & GetRecData()
Get object containing scintillator reconstructed data.
bool IsLowGainSaturation() const
void SetLowGainSaturation(const bool sat=true)
void SetHighGainSaturation(const bool sat=true)
void operator>>(sevt::Scintillator &s) const
constexpr double s
Definition: AugerUnits.h:163
sevtScintillator_ROOT & operator=(const sevtScintillator_ROOT &s)
sevt::ScintillatorSimData & GetSimData()
void DeepCopy(T *&destination, U *const source)
void MakeMIPTrace(const StationConstants::SignalComponent source=StationConstants::eTotal)
Make a VEM trace object.
class to hold data for station Scintillator
sevtScintillatorSimData_ROOT * fSimData
std::map< int, io::Trace_ROOT< T > > fTraces
sevtScintillatorRecData_ROOT * fRecData
void MakeRecData()
Make scintillator reconstructed data object.

, generated on Tue Sep 26 2023.