ShowerFRecData_ROOT.cc
Go to the documentation of this file.
1 #include <io/ShowerFRecData_ROOT.h>
2 #include <io/StreamerUtilities.h>
3 
4 using namespace io;
5 
6 
7 ClassImp(ShowerFRecData_ROOT)
8 
9 
10 ShowerFRecData_ROOT::ShowerFRecData_ROOT(const evt::ShowerFRecData& sh) :
11  fEmEnergy(sh.GetEmEnergy()),
12  fEmEnergyError(sh.GetEmEnergyError()),
13  fTotalEnergy(sh.GetTotalEnergy()),
14  fTotalEnergyError(sh.GetTotalEnergyError()),
15  fEnergyCutoff(sh.GetEnergyCutoff()),
16  fEmEnergyErrors(sh.GetEmEnergyErrorsBegin(), sh.GetEmEnergyErrorsEnd()),
17  fTotalEnergyErrors(sh.GetTotalEnergyErrorsBegin(), sh.GetTotalEnergyErrorsEnd()),
18  fXmaxErrors(sh.GetXmaxErrorsBegin(), sh.GetXmaxErrorsEnd()),
19  fAxis(sh.GetAxis()),
20  fAxisError(sh.GetAxisError()),
21  fCore(sh.GetCorePosition()),
22  fCoreError(sh.GetCoreError()),
23  fCoreTime(sh.GetCoreTime()),
24  fCoreTimeError(sh.GetCoreTimeError().GetInterval()),
25  fCorrelationXY(sh.GetCorrelationXY()),
26  fCorrelationThetaPhi(sh.GetCorrelationThetaPhi()),
27  fSDTimeResidual(sh.GetSDTimeResidual()),
28  fStationIds(sh.GetStationIds())
29 {
30  if (sh.HasEnergyDeposit())
31  fEnergyDeposit = sh.GetEnergyDeposit();
32 
33  if (sh.HasLongitudinalProfile())
34  fLongitudinalProfile = sh.GetLongitudinalProfile();
35 
36  if (sh.HasGHParameters())
37  fGHParameters = sh.GetGHParameters();
38 
39  if (sh.HasMultipleGHParameters())
40  fMultipleGHParameters = sh.GetMultipleGHParameters();
41 
42  if (sh.HasFluorescencePhotons())
43  fFluorescencePhotons = sh.GetFluorescencePhotons();
44 
45  if (sh.HasCherenkovPhotons())
46  fCherenkovPhotons = sh.GetCherenkovPhotons();
47 }
48 
49 
50 void
52  const
53 {
57 
58  for (const auto& te : fEmEnergyErrors)
60  for (const auto& te : fTotalEnergyErrors)
62  for (const auto& te : fXmaxErrors)
63  sh.SetXmaxError(te.second, evt::ShowerFRecData::EUncertaintyType(te.first));
64 
65  sh.SetAxis(fAxis.Convert());
70 
71  if (fEnergyDeposit) {
72  sh.MakeEnergyDeposit();
74  }
75 
79  }
80 
84  }
85 
86  if (fCherenkovPhotons) {
89  }
90 
91  if (fGHParameters) {
93  fGHParameters >> gh;
94  sh.MakeGHParameters(*gh);
95  }
96 
99 
103 
104  for (const auto& id : fStationIds)
105  sh.AddStationId(id);
106 }
std::map< int, double > fTotalEnergyErrors
void SetCorrelationXY(const double corr)
void SetCoreError(const utl::Vector &core_er)
MultipleGaisserHillasParameters_ROOT fMultipleGHParameters
void SetEmEnergyError(const double energyError, const EUncertaintyType type)
void operator>>(evt::ShowerFRecData &sh) const
void SetSDTimeResidual(const double time)
utl::TabulatedFunction & GetCherenkovPhotons()
retrieve number of Cerenkov photons versus depth
void SetCorePosition(const utl::Point &core)
TabulatedFunction_ROOT fCherenkovPhotons
void SetTotalEnergyError(const double energyError, const EUncertaintyType type)
ROOT wise implementation of streaming for class ShowerFRecData.
std::map< int, double > fEmEnergyErrors
void SetAxisError(const utl::Vector &axis_er)
utl::TimeStamp Convert() const
TabulatedFunctionErrors_ROOT fLongitudinalProfile
void SetCoreTime(const utl::TimeStamp &coreTime, const utl::TimeInterval &coreTimeErr)
void SetAxis(const utl::Vector &axis)
void SetCorrelationThetaPhi(const double corr)
evt::MultipleGaisserHillasParameters & GetMultipleGHParameters()
TabulatedFunctionErrors_ROOT fFluorescencePhotons
utl::Point Convert() const
Definition: Point_ROOT.h:31
GaisserHillasParameters_ROOT fGHParameters
void SetEmEnergy(const double energy, const double energyError, const EUncertaintyType type=eTotal)
std::map< int, double > fXmaxErrors
A TimeInterval is used to represent time elapsed between two events.
Definition: TimeInterval.h:43
void SetEnergyCutoff(const double energy)
utl::TabulatedFunctionErrors & GetLongitudinalProfile()
retrieve longitudinal profile information (size vs depth)
utl::TabulatedFunctionErrors & GetFluorescencePhotons()
retrieve number of fluorescence photons versus depth
void SetXmaxError(const double xmaxError, const EUncertaintyType type)
Interface class for access to the Gaisser-Hillas parameters.
Interface class to access to Fluorescence reconstruction of a Shower.
std::vector< unsigned short int > fStationIds
void SetTotalEnergy(const double energy, const double energyError, const EUncertaintyType type=eTotal)
void MakeGHParameters(const VGaisserHillasParameter &gh)
EUncertaintyType
profile reconstruction uncertainty types
utl::TabulatedFunctionErrors & GetEnergyDeposit()
retrieve dE/dX
void AddStationId(const unsigned short int id)
add a station id to the list of used hybrid stations
utl::Vector Convert() const
Definition: Vector_ROOT.h:33
TabulatedFunctionErrors_ROOT fEnergyDeposit

, generated on Tue Sep 26 2023.