ShowerRecData.h
Go to the documentation of this file.
1 #ifndef _evt_ShowerRecData_h_
2 #define _evt_ShowerRecData_h_
3 
4 #include <utl/Point.h>
5 #include <utl/Vector.h>
6 #include <utl/LameShadowPtr.h>
7 #include <utl/config.h>
8 
9 
10 namespace evt {
11 
12  class Event;
13  class ShowerFRecData;
14  class ShowerSRecData;
15  class ShowerUnivRecData;
16  class ShowerRRecData;
17  class ShowerMRecData;
18  class LaserData;
19 
20 
33  class ShowerRecData {
34 
35  public:
37  const ShowerFRecData& GetFRecShower() const;
38  void MakeFRecShower();
39  bool HasFRecShower() const;
40 
42  const ShowerSRecData& GetSRecShower() const;
43  void MakeSRecShower();
44  bool HasSRecShower() const;
45 
47  const ShowerUnivRecData& GetUnivRecShower() const;
48  void MakeUnivRecShower();
49  bool HasUnivRecShower() const;
50 
52  const ShowerRRecData& GetRRecShower() const;
53  void MakeRRecShower();
54  bool HasRRecShower() const;
55 
57  const ShowerMRecData& GetMRecShower() const;
58  void MakeMRecShower();
59  bool HasMRecShower() const;
60 
61  double GetEnergy() const;
62  double GetEnergyError() const;
63 
64  const utl::Point& GetCorePosition() const;
65 
71  const utl::Vector& GetAxis() const;
72 
73  void SetEnergy(const double energy, const double error);
74  void SetCorePosition(const utl::Point& core);
75  void SetAxis(const utl::Vector& axis);
76 
78  const LaserData& GetLaserData() const { return *fLaserData; }
79 
80  bool HasLaserData() const { return bool(fLaserData); }
81  void MakeLaserData();
82 
83  private:
84  ShowerRecData() = default;
85  ~ShowerRecData() = default;
86 
87  double fEnergy = 0;
88  double fEnergyError = 0;
89 
92 
98 
100 
101  friend class evt::Event;
103 
104  };
105 
106 }
107 
108 
109 #endif
utl::Point fCorePosition
Definition: ShowerRecData.h:91
bool HasUnivRecShower() const
Point object.
Definition: Point.h:32
ShowerFRecData & GetFRecShower()
Interface class to access to the SD Reconstruction of a Shower (universality)
Interface class to access to the SD Reconstruction of a Shower.
Interface class to access Shower Reconstructed parameters.
Definition: ShowerRecData.h:33
const utl::Point & GetCorePosition() const
void SetAxis(const utl::Vector &axis)
const LaserData & GetLaserData() const
Definition: ShowerRecData.h:78
Interface class to access to the RD Reconstruction of a Shower.
utl::Vector fShowerAxis
Definition: ShowerRecData.h:90
double GetEnergy() const
utl::LameShadowPtr< ShowerUnivRecData > fShowerUnivRecData
Definition: ShowerRecData.h:95
ShowerRRecData & GetRRecShower()
ShowerSRecData & GetSRecShower()
ShowerRecData()=default
ShowerUnivRecData & GetUnivRecShower()
void SetEnergy(const double energy, const double error)
bool HasRRecShower() const
bool HasFRecShower() const
utl::LameShadowPtr< ShowerFRecData > fShowerFRecData
Definition: ShowerRecData.h:93
const utl::Vector & GetAxis() const
utl::LameShadowPtr< ShowerMRecData > fShowerMRecData
Definition: ShowerRecData.h:97
~ShowerRecData()=default
bool HasMRecShower() const
double GetEnergyError() const
utl::LameShadowPtr< ShowerRRecData > fShowerRRecData
Definition: ShowerRecData.h:96
ShowerMRecData & GetMRecShower()
Data structure for Laser simulation and reconstruction.
Definition: LaserData.h:29
Vector object.
Definition: Vector.h:30
Interface class to access to Fluorescence reconstruction of a Shower.
void SetCorePosition(const utl::Point &core)
bool HasLaserData() const
Definition: ShowerRecData.h:80
Interface class to access to the Muon Reconstruction of a Shower.
utl::LameShadowPtr< ShowerSRecData > fShowerSRecData
Definition: ShowerRecData.h:94
bool HasSRecShower() const
LaserData & GetLaserData()
Definition: ShowerRecData.h:77
utl::LameShadowPtr< LaserData > fLaserData
Definition: ShowerRecData.h:99

, generated on Tue Sep 26 2023.