LDMX Software
EcalTrajectoryInfo.h
Go to the documentation of this file.
1
8#ifndef EVENT_ECALMIPCOLLECTION_H_
9#define EVENT_ECALMIPCOLLECTION_H_
10
11//----------------//
12// C++ StdLib //
13//----------------//
14#include <iostream>
15#include <utility>
16
17//----------//
18// ROOT //
19//----------//
20#include <Math/Vector3D.h> // IWYU pragma: keep
21#include <Rtypes.h> // For ClassDef
22
23namespace ldmx {
24
25typedef std::pair<float, float> XYCoords;
26
27// MIP tracking: Class for storing hit information for tracking in a
28// convenient way
29struct HitData {
30 int layer_;
31 ROOT::Math::XYZVector pos_;
32};
33
35 public:
37 EcalTrajectoryInfo() = default;
38
40 virtual ~EcalTrajectoryInfo() = default;
41
45 friend std::ostream& operator<<(std::ostream& o, const EcalTrajectoryInfo& d);
46
47 void clear();
48
49 const std::vector<XYCoords>& getEleTrajectory() const {
50 return ele_trajectory_;
51 }
52 void setEleTrajectory(const std::vector<XYCoords>& ele_trajectory) {
53 ele_trajectory_ = ele_trajectory;
54 }
55
56 const std::vector<XYCoords>& getPhotonTrajectory() const {
57 return photon_trajectory_;
58 }
59 void setPhotonTrajectory(const std::vector<XYCoords>& photon_trajectory) {
60 photon_trajectory_ = photon_trajectory;
61 }
62
63 const std::vector<HitData>& getTrackingHitList() const {
64 return tracking_hit_list_;
65 }
66 void setTrackingHitList(const std::vector<HitData>& hits) {
67 tracking_hit_list_ = hits;
68 }
69
70 private:
71 std::vector<XYCoords> ele_trajectory_;
72 std::vector<XYCoords> photon_trajectory_;
73 std::vector<HitData> tracking_hit_list_;
74
75 ClassDef(EcalTrajectoryInfo, 3);
76}; // EcalTrajectoryInfo
77
78} // namespace ldmx
79
80#endif // EVENT_ECALMIPCOLLECTION_H_
friend std::ostream & operator<<(std::ostream &o, const EcalTrajectoryInfo &d)
Print the string representation of this object.
virtual ~EcalTrajectoryInfo()=default
Destructor.
EcalTrajectoryInfo()=default
Constructor.