ShowerSRecData_ROOT.cc
Go to the documentation of this file.
1 #include <evt/ShowerScintillatorRecData.h>
2 
3 #include <fwk/LocalCoordinateSystem.h>
4 #include <utl/LameShadowPtr_imp.h>
5 #include <io/ShowerSRecData_ROOT.h>
6 #include <io/TabulatedFunctionErrors_ROOT.h>
7 #include <io/RiseTime1000_ROOT.h>
8 #include <io/SdFootprintData_ROOT.h>
9 #include <io/StreamerUtilities.h>
10 
11 using namespace io;
12 
13 
14 ClassImp(ShowerSRecData_ROOT)
15 
16 
19 {
20  if (this != &s) {
21  DeepCopy(fLDF, s.fLDF);
22  fBarycenter = s.fBarycenter;
23  fBarytime = s.fBarytime;
24  fCore = s.fCore;
25  fCoreError = s.fCoreError;
26  fCorrelationXY = s.fCorrelationXY;
27  fCoreTime = s.fCoreTime;
28  fCoreTimeError = s.fCoreTimeError;
29  fAxis = s.fAxis;
30  fBeta = s.fBeta;
31  fBetaError = s.fBetaError;
32  fBetaSystematics = s.fBetaSystematics;
33  fGamma = s.fGamma;
34  fGammaError = s.fGammaError;
35  fNKGFermiMu = s.fNKGFermiMu;
36  fNKGFermiTau = s.fNKGFermiTau;
37  fCurvature = s.fCurvature;
38  fCurvatureError = s.fCurvatureError;
39  fCurvatureTimeOffset = s.fCurvatureTimeOffset;
40  fCurvatureTimeOffsetError = s.fCurvatureTimeOffsetError;
41  fShowerSizeType = s.fShowerSizeType;
42  fShowerSize = s.fShowerSize;
43  fShowerSizeError = s.fShowerSizeError;
44  fShowerSizeSystematics = s.fShowerSizeSystematics;
45  fShowerSizeGeomagneticCorr = s.fShowerSizeGeomagneticCorr;
46  fShowerSizeGeomagneticCorrError = s.fShowerSizeGeomagneticCorrError;
47  fShowerSizeAtmosphericCorr = s.fShowerSizeAtmosphericCorr;
48  fShowerSizeAtmosphericCorrError = s.fShowerSizeAtmosphericCorrError;
49  fLDFOptimumDistance = s.fLDFOptimumDistance;
50  fLDFChi2 = s.fLDFChi2;
51  fLDFNdof = s.fLDFNdof;
52  fThetaError = s.fThetaError;
53  fPhiError = s.fPhiError;
54  fCorrelationThetaPhi = s.fCorrelationThetaPhi;
55  fAngleChi2 = s.fAngleChi2;
56  fAngleNdof = s.fAngleNdof;
57  fTimeResidualMean = s.fTimeResidualMean;
58  fTimeResidualSpread = s.fTimeResidualSpread;
59  fEnergy = s.fEnergy;
60  fEnergyError = s.fEnergyError;
61  fEnergyLDFSystematics = s.fEnergyLDFSystematics;
62  fNumberOfActiveStations = s.fNumberOfActiveStations;
63  fT4Trigger = s.fT4Trigger;
64  fT5Trigger = s.fT5Trigger;
65  fT5HottestStation = s.fT5HottestStation;
66  fT5PriorActiveNeighbors = s.fT5PriorActiveNeighbors;
67  fT5PosteriorActiveNeighbors = s.fT5PosteriorActiveNeighbors;
68  fT5PosteriorCoreTriangle = s.fT5PosteriorCoreTriangle;
69  fIsTOTdMoPSSilent = s.fIsTOTdMoPSSilent;
70  std::copy(s.fReconstructionSeed, s.fReconstructionSeed+3, fReconstructionSeed);
71  fLDFRecStage = s.fLDFRecStage;
72  fSeedAxis = s.fSeedAxis;
73  fSeedBarycenter = s.fSeedBarycenter;
74  fBadPeriodId = s.fBadPeriodId;
75  DeepCopy(fRiseTime1000, s.fRiseTime1000);
76  DeepCopy(fFootprintData, s.fFootprintData);
77  }
78  return *this;
79 }
80 
81 
83 {
84  delete fLDF;
85  delete fRiseTime1000;
86  delete fFootprintData;
87 }
88 
89 
91  fBarycenter(s.GetBarycenter()),
92  fBarytime(s.GetBarytime()),
93  fCore(s.GetCorePosition()),
94  fCoreError(s.GetCoreError()),
95  fCorrelationXY(s.GetCorrelationXY()),
96  fCoreTime(s.GetCoreTime()),
97  fCoreTimeError(s.GetCoreTimeError().GetInterval()),
98  fAxis(s.GetAxis()),
99  fBeta(s.GetBeta()),
100  fBetaError(s.GetBetaError()),
101  fBetaSystematics(s.GetBetaSystematics()),
102  fGamma(s.GetGamma()),
103  fGammaError(s.GetGammaError()),
104  fNKGFermiMu(s.GetNKGFermiMu()),
105  fNKGFermiTau(s.GetNKGFermiTau()),
106  fCurvature(s.GetCurvature()),
107  fCurvatureError(s.GetCurvatureError()),
108  fCurvatureTimeOffset(s.GetCurvatureTimeOffset()),
109  fCurvatureTimeOffsetError(s.GetCurvatureTimeOffsetError()),
110  fShowerSizeType(s.GetShowerSizeType()),
111  fShowerSize(s.GetShowerSize()),
112  fShowerSizeError(s.GetShowerSizeError()),
113  fShowerSizeSystematics(s.GetShowerSizeSystematics()),
114  fShowerSizeGeomagneticCorr(s.GetSizeGeomagneticCorr()),
115  fShowerSizeGeomagneticCorrError(s.GetSizeGeomagneticCorrError()),
116  fShowerSizeAtmosphericCorr(s.GetSizeAtmosphericCorr()),
117  fShowerSizeAtmosphericCorrError(s.GetSizeAtmosphericCorrError()),
118  fLDFOptimumDistance(s.GetLDFOptimumDistance()),
119  fLDFChi2(s.GetLDFChi2()),
120  fLDFNdof(s.GetLDFNdof()),
121  fLDFLikelihood(s.GetLDFLikelihood()),
122  fThetaError(s.GetThetaError()),
123  fPhiError(s.GetPhiError()),
124  fCorrelationThetaPhi(s.GetCorrelationThetaPhi()),
125  fAngleChi2(s.GetAngleChi2()),
126  fAngleNdof(s.GetAngleNdof()),
127  fTimeResidualMean(s.GetTimeResidualMean()),
128  fTimeResidualSpread(s.GetTimeResidualSpread()),
129  fEnergy(s.GetEnergy()),
130  fEnergyError(s.GetEnergyError()),
131  fEnergyLDFSystematics(s.GetEnergyLDFSystematics()),
132  fNumberOfActiveStations(s.GetNumberOfActiveStations()),
133  fT4Trigger(s.GetT4Trigger()),
134  fT5Trigger(s.GetT5Trigger()),
135  fT5HottestStation(s.GetT5HottestStation()),
136  fT5PriorActiveNeighbors(s.GetT5PriorActiveNeighbors()),
137  fT5PosteriorActiveNeighbors(s.GetT5PosteriorActiveNeighbors()),
138  fT5PosteriorCoreTriangle(s.GetT5PosteriorCoreTriangle()),
139  fIsTOTdMoPSSilent(s.IsTOTdMoPSSilent()),
140  fLDFRecStage(s.GetLDFRecStage()),
141  fSeedAxis(s.GetSeedAxis()),
142  fSeedBarycenter(s.GetSeedBarycenter()),
143  fBadPeriodId(s.GetBadPeriodId())
144 {
145  if (s.HasLDF())
146  ConvertCopy(fLDF, s.GetLDF());
147 
148  const std::vector<int>& seed = s.GetReconstructionSeed();
149  if (seed.size() == 3)
150  std::copy(seed.begin(), seed.end(), fReconstructionSeed);
151 
152  if (s.HasRiseTime1000())
154  if (s.HasFootprintData())
156 }
157 
158 
159 void
161  const
162 {
163  if (fLDF) {
164  if (!s.HasLDF())
165  s.MakeLDF();
166  *fLDF >> s.GetLDF();
167  }
168 
171 
176  s.SetAxis(fAxis.Convert());
177 
184  s.SetShowerSizeType(static_cast<evt::ShowerSRecData::ShowerSizeType>(fShowerSizeType));
189 
193 
202 
204 
211 
212  if (fReconstructionSeed[0])
214 
216 
219 
221 
222  if (fRiseTime1000) {
223  if (!s.HasRiseTime1000())
224  s.MakeRiseTime1000();
226  }
227 
228  if (fFootprintData) {
229  if (!s.HasFootprintData())
230  s.MakeFootprintData();
232  }
233 }
void operator>>(const Event &theEvent, IoSdEvent &rawSEvent)
RiseTime1000_ROOT * fRiseTime1000
void SetCurvature(const double curvature, const double error)
gaussian curvature = 1 / Rc
std::vector< int > fT5PosteriorActiveNeighbors
void SetShowerSize(const double value, const double error)
void SetBarycenter(const utl::Point &bary)
void SetPhiError(const double err)
void SetBeta(const double beta, const double error)
SdFootprintData_ROOT * fFootprintData
sevt::SdFootprintData & GetFootprintData()
void SetSeedBarycenter(const utl::Point &b)
Interface class to access to the SD Reconstruction of a Shower.
void SetLDFOptimumDistance(const double rOpt)
void ConvertCopy(T *&destination, const U &source)
const utl::TabulatedFunctionErrors & GetLDF() const
void SetT5PriorActiveNeighbors(const std::vector< int > &neigh)
std::vector< int > fT5PriorActiveNeighbors
void SetT5PosteriorActiveNeighbors(const std::vector< int > &neigh)
void SetAngleChi2(const double chi2, const double ndof)
void SetCurvatureTimeOffset(const double ct0, const double ct0Error)
void SetT5HottestStation(const int id)
void SetBetaSystematics(const double betasys)
void SetLDFChi2(const double chi2, const double ndof)
const std::vector< int > & GetReconstructionSeed() const
utl::TimeStamp Convert() const
void SetCorrelationThetaPhi(const double corr)
void SetTimeResidualMean(const double mean)
void SetBadPeriodId(const int id)
void SetIsTOTdMoPSSilent(const bool silent)
bool HasRiseTime1000() const
void SetCoreError(const utl::Vector &coreerr)
TabulatedFunctionErrors_ROOT * fLDF
constexpr double s
Definition: AugerUnits.h:163
void DeepCopy(T *&destination, U *const source)
void SetSeedAxis(const utl::Vector &axis)
void SetAxis(const utl::Vector &axis)
void SetShowerSizeSystematics(const double sysError)
void SetThetaError(const double err)
void SetReconstructionSeed(const std::vector< int > &stations)
utl::Point Convert() const
Definition: Point_ROOT.h:31
void SetCoreTime(const utl::TimeStamp &coreTime, const utl::TimeInterval &coreTimeErr)
void SetEnergyLDFSystematics(const double sys)
void SetSizeGeomagneticCorr(const double what, const double whatEr)
bool HasFootprintData() const
A TimeInterval is used to represent time elapsed between two events.
Definition: TimeInterval.h:43
void SetTimeResidualSpread(const double spread)
void SetNumberOfActiveStations(const int nstations)
void SetT5Trigger(const int t5)
ROOT wise implementation of streaming for class ShowerSRecData.
void SetBarytime(const utl::TimeStamp &t)
void SetSizeAtmosphericCorr(const double what, const double whatEr)
void SetCorePosition(const utl::Point &core)
void SetNKGFermiParameters(const double mu, const double tau)
void SetLDFLikelihood(const double likelihood)
void SetShowerSizeType(const ShowerSizeType type)
void SetGamma(const double gamma, const double error)
bool HasLDF() const
evt::RiseTime1000 & GetRiseTime1000()
void SetEnergy(const double energy, const double error)
void SetLDFRecStage(const double stage)
void SetT4Trigger(const int t4)
void SetCorrelationXY(const double corr)
utl::Vector Convert() const
Definition: Vector_ROOT.h:33

, generated on Tue Sep 26 2023.