PMTSimData_ROOT.cc
Go to the documentation of this file.
1 #include <sevt/PMTSimData.h>
2 #include <io/PMTSimData_ROOT.h>
3 #include <io/StreamerUtilities.h>
4 
5 using namespace io;
6 
7 
8 ClassImp(PMTSimData_ROOT)
9 
10 
11 PMTSimData_ROOT::PMTSimData_ROOT(const sevt::PMTSimData& p) :
12  fPETimeDistribution(p.fPETimeDistribution),
13  fBaseSignal(p.fBaseSignal),
14  fFilterSignal(p.fFilterSignal)
15 {
16  for (unsigned int i = 0; i < sdet::PMTConstants::eNumberOfGains; ++i) {
17  fFADCTrace[i] = p.fFADCTrace[i];
18  fFADCTraceD[i] = p.fFADCTraceD[i];
19  Convert(fFADCTraces[i], p.fFADCTraces[i]);
20  Convert(fFADCTracesD[i], p.fFADCTracesD[i]);
21  }
22 }
23 
24 
25 // FIXME move this to StreamerUtilities.h
26 template<typename K1, typename V1, typename K2, typename V2>
27 inline
28 void
29 operator>>(const std::map<K1, V1>& src, std::map<K2, V2>& dst)
30 {
31  dst.clear();
32  for (const auto& kv : src) {
33  K2 k2;
34  kv.first >> k2;
35  V2 v2;
36  kv.second >> v2;
37  dst.emplace(k2, v2);
38  }
39 }
40 
41 
42 void
44  const
45 {
49  for (unsigned int i = 0; i < sdet::PMTConstants::eNumberOfGains; ++i) {
50  fFADCTrace[i] >> p.fFADCTrace[i];
51  fFADCTraceD[i] >> p.fFADCTraceD[i];
52  fFADCTraces[i] >> p.fFADCTraces[i];
53  fFADCTracesD[i] >> p.fFADCTracesD[i];
54  }
55 }
void Convert(std::vector< T1, A1 > &destination, const std::vector< T2, A2 > &source)
TimeTraceDMap fFADCTracesD[sdet::PMTConstants::eNumberOfGains]
Definition: PMTSimData.h:345
void operator>>(const fevt::Eye &, TEyeEvent &)
MultiTimeDistributionD_ROOT fBaseSignal
std::map< TimeStamp_ROOT, MultiTraceD_ROOT > fFADCTracesD[sdet::PMTConstants::eNumberOfGains]
std::map< TimeStamp_ROOT, MultiTraceI_ROOT > fFADCTraces[sdet::PMTConstants::eNumberOfGains]
utl::MultiTimeDistributionI fPETimeDistribution
Definition: PMTSimData.h:332
MultiTimeDistributionD_ROOT fFADCTraceD[sdet::PMTConstants::eNumberOfGains]
utl::MultiTimeDistributionD fFADCTraceD[sdet::PMTConstants::eNumberOfGains]
Definition: PMTSimData.h:340
MultiTimeDistributionI_ROOT fPETimeDistribution
utl::MultiTimeDistributionD fFilterSignal
Definition: PMTSimData.h:334
Persistent SD PMTSimData using ROOT.
Class to hold simulated data at PMT level.
Definition: PMTSimData.h:40
utl::MultiTimeDistributionD fBaseSignal
Definition: PMTSimData.h:333
utl::MultiTimeDistributionI fFADCTrace[sdet::PMTConstants::eNumberOfGains]
Definition: PMTSimData.h:339
TimeTraceIMap fFADCTraces[sdet::PMTConstants::eNumberOfGains]
Definition: PMTSimData.h:344
MultiTimeDistributionI_ROOT fFADCTrace[sdet::PMTConstants::eNumberOfGains]
void operator>>(sevt::PMTSimData &p) const
MultiTimeDistributionD_ROOT fFilterSignal

, generated on Tue Sep 26 2023.