TelescopeRecData_ROOT.cc
Go to the documentation of this file.
1 #include <fevt/TelescopeRecData.h>
2 #include <io/TelescopeRecData_ROOT.h>
3 
4 using namespace io;
5 
6 
7 ClassImp(TelescopeRecData_ROOT)
8 
9 
10 TelescopeRecData_ROOT::TelescopeRecData_ROOT(const fevt::TelescopeRecData& t)
11  fEyeId(t.GetEyeId()),
12  fTelescopeId(t.GetTelescopeId()),
13  fZeta(t.GetZeta()),
14  fTZero(t.GetTZero()),
15  fTZeroError(t.GetTZeroError()),
16  fChiZero(t.GetChiZero()),
17  fChiZeroError(t.GetChiZeroError()),
18  fRp(t.GetRp()),
19  fRpError(t.GetRpError()),
20  fRpTZeroCorrelation(t.GetRpTZeroCorrelation()),
21  fRpChi0Correlation(t.GetRpChi0Correlation()),
22  fChi0TZeroCorrelation(t.GetChi0TZeroCorrelation()),
23  fTimeFitChiSquare(t.GetTimeFitChiSquare()),
24  fTimeFitNDof(t.GetTimeFitNDof()),
25  fSDPThetaError(t.GetSDPThetaError()),
26  fSDPPhiError(t.GetSDPPhiError()),
27  fSDPThetaPhiCorrelation(t.GetSDPCorrThetaPhi()),
28  fSDPFitChiSquare(t.GetSDPFitChiSquare()),
29  fSDPFitNDof(t.GetSDPFitNDof()),
30  fSDP(t.GetSDP()),
31  fNorthEastCorrelation(t.GetNorthEastCorrelation()),
32  fNorthThetaCorrelation(t.GetNorthThetaCorrelation()),
33  fNorthPhiCorrelation(t.GetNorthPhiCorrelation()),
34  fNorthTCoreCorrelation(t.GetNorthTCoreCorrelation()),
35  fEastThetaCorrelation(t.GetEastThetaCorrelation()),
36  fEastPhiCorrelation(t.GetEastPhiCorrelation()),
37  fEastTCoreCorrelation(t.GetEastTCoreCorrelation()),
38  fThetaPhiCorrelation(t.GetThetaPhiCorrelation()),
39  fThetaTCoreCorrelation(t.GetThetaTCoreCorrelation()),
40  fPhiTCoreCorrelation(t.GetPhiTCoreCorrelation()),
41  fAxisFitChiSquare(t.GetAxisFitChiSquare()),
42  fAxisFitNDof(t.GetAxisFitNDof()),
44  t.HasLightFlux() ?
45  MultiTabulatedFunctionErrors_ROOT(t.LightFluxesBegin(), t.LightFluxesEnd()) :
47  ),
48  fSpotFarFromBorderTimes(t.GetSpotFarFromBorderTimeRanges()),
50  t.HasLightCollectionEfficiency() ?
51  MultiTabulatedFunctionErrors_ROOT(
52  t.GetLightCollectionEfficiency().TabulatedFunctionsErrorsBegin(),
53  t.GetLightCollectionEfficiency().TabulatedFunctionsErrorsEnd()
54  ) :
55  MultiTabulatedFunctionErrors_ROOT()
56  ),
57  fPixelsInZeta(t.GetPixelsInZetaOverTime())
58 {
59  try {
60  fTimeStamp.Set(t.GetPhotonsStartTime());
62  fTimeStamp.Set(0, 0);
63  }
64 }
65 
66 
67 void
69  const
70 {
71  t.SetEyeId(fEyeId);
72  t.SetTelescopeId(fTelescopeId);
73 
74  t.SetZeta(fZeta);
75 
81  fSDP >> v;
82  t.SetSDP(v);
83 
86  t.SetRp(fRp, fRpError);
87 
90 
102  utl::TimeStamp ts;
103  fTimeStamp >> ts;
104  t.SetPhotonsStartTime(ts);
105 
106  if (!fLightProfile.fTabFunctions.empty()) {
107  for (const auto& sf : fLightProfile.fTabFunctions) {
108  const fevt::FdConstants::LightSource source = static_cast<fevt::FdConstants::LightSource>(sf.first);
109  t.MakeLightFlux(source);
110  sf.second >> t.GetLightFlux(source);
111  }
112  }
113 
115 
120  }
121 
123 }
fChiZeroError(t.GetChiZeroError())
fSDPFitChiSquare(t.GetSDPFitChiSquare())
void SetSDPFitChiSquare(const double sdpChi2, const unsigned int ndof)
fSDPThetaError(t.GetSDPThetaError())
fRpChi0Correlation(t.GetRpChi0Correlation())
fChi0TZeroCorrelation(t.GetChi0TZeroCorrelation())
fTZeroError(t.GetTZeroError())
fLightCollectionEfficiency(t.HasLightCollectionEfficiency()?MultiTabulatedFunctionErrors_ROOT(t.GetLightCollectionEfficiency().TabulatedFunctionsErrorsBegin(), t.GetLightCollectionEfficiency().TabulatedFunctionsErrorsEnd()):)
fRp(t.GetRp())
ROOT streamer implementation for utl::MultiTabulatedFunctionErrors.
void SetTimeFitCorrelations(double rRpT0, double rRpChi0, double rChi0T0)
std::list< std::pair< double, double > > fSpotFarFromBorderTimes
fTimeFitNDof(t.GetTimeFitNDof())
Base class for exceptions trying to access non-existing components.
MultiTabulatedFunctionErrors_ROOT fLightProfile
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
fEastPhiCorrelation(t.GetEastPhiCorrelation())
fSDPThetaPhiCorrelation(t.GetSDPCorrThetaPhi())
void SetSDP(const utl::AxialVector &vec)
fPhiTCoreCorrelation(t.GetPhiTCoreCorrelation())
void SetAxisFitCorrelations(double northEast, double northTheta, double northPhi, double northTCore, double eastTheta, double eastPhi, double eastTCore, double thetaPhi, double thetaTCore, double phiTCore)
fTZero(t.GetTZero())
utl::TabulatedFunctionErrors & GetLightFlux(const FdConstants::LightSource source=fevt::FdConstants::eTotal)
Light flux at diaphragm, photons/m^2 versus time in ns.
LightSource
Possible light sources.
Definition: FdConstants.h:9
std::vector< std::vector< unsigned int > > fPixelsInZeta
MultiTabulatedFunctionErrors_ROOT fLightCollectionEfficiency
fSDPPhiError(t.GetSDPPhiError())
std::map< int, TabulatedFunctionErrors_ROOT > fTabFunctions
fLightProfile(t.HasLightFlux()?MultiTabulatedFunctionErrors_ROOT(t.LightFluxesBegin(), t.LightFluxesEnd()):)
fEastThetaCorrelation(t.GetEastThetaCorrelation())
void SetSDPPhiError(const double sdpPhiError)
void SetChiZero(const double chiZero, const double error)
void SetSpotFarFromBorderTimeRanges(const std::list< std::pair< double, double >> &timeRanges)
fSDPFitNDof(t.GetSDPFitNDof())
Telescope-specific shower reconstruction data.
void SetSDPThetaError(const double sdpThetaError)
utl::MultiTabulatedFunctionErrors & GetLightCollectionEfficiency()
Get the light-collection-efficiency multi tabulated function (for various LightSources) ...
const std::vector< std::vector< unsigned int > > & GetPixelsInZetaOverTime() const
Returns the time-vector of vectors of pixel ids which are within zeta at the given time...
void MakeLightCollectionEfficiency()
Add a light-collection-efficiency multi tabulated function (for various LightSources) ...
fNorthTCoreCorrelation(t.GetNorthTCoreCorrelation())
fZeta(t.GetZeta())
fRpError(t.GetRpError())
fNorthPhiCorrelation(t.GetNorthPhiCorrelation())
bool HasLightCollectionEfficiency() const
Check that a light-collection-efficiency multi tabulated function exists (for various LightSources) ...
Persistent TelescopeRecData class.
void SetAxisFitChiSquare(const double globalChi2, const unsigned int ndof)
fChiZero(t.GetChiZero())
void operator>>(fevt::TelescopeRecData &t) const
fTelescopeId(t.GetTelescopeId())
fNorthThetaCorrelation(t.GetNorthThetaCorrelation())
void SetPhotonsStartTime(const utl::TimeStamp &ts)
fRpTZeroCorrelation(t.GetRpTZeroCorrelation())
fSDP(t.GetSDP())
void SetTZero(const double tzero, const double error)
void SetTimeFitChiSquare(const double tfitChi2, const unsigned int ndof)
void SetZeta(const double zeta)
void SetRp(const double rp, const double error)
fEastTCoreCorrelation(t.GetEastTCoreCorrelation())
fSpotFarFromBorderTimes(t.GetSpotFarFromBorderTimeRanges())
void MakeLightFlux(const FdConstants::LightSource source=FdConstants::eTotal)
AxialVector object.
Definition: AxialVector.h:30
fAxisFitNDof(t.GetAxisFitNDof())
fTimeFitChiSquare(t.GetTimeFitChiSquare())
fAxisFitChiSquare(t.GetAxisFitChiSquare())
fThetaTCoreCorrelation(t.GetThetaTCoreCorrelation())
fNorthEastCorrelation(t.GetNorthEastCorrelation())
fThetaPhiCorrelation(t.GetThetaPhiCorrelation())
void SetSDPCorrThetaPhi(double sdpCorrThetaPhi)

, generated on Tue Sep 26 2023.