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 <map>
16#include <utility>
17
18//----------//
19// ROOT //
20//----------//
21#include <Math/Vector3D.h>
22
23#include "TObject.h"
24
25namespace ldmx {
26
27typedef std::pair<float, float> XYCoords;
28
29// MIP tracking: Class for storing hit information for tracking in a
30// convenient way
31struct HitData {
32 int layer_;
33 ROOT::Math::XYZVector pos_;
34};
35
37 public:
39 EcalTrajectoryInfo() = default;
40
42 virtual ~EcalTrajectoryInfo() = default;
43
47 friend std::ostream& operator<<(std::ostream& o, const EcalTrajectoryInfo& d);
48
49 void clear();
50
51 const std::vector<XYCoords>& getEleTrajectory() const {
52 return ele_trajectory_;
53 }
54 void setEleTrajectory(const std::vector<XYCoords>& ele_trajectory) {
55 ele_trajectory_ = ele_trajectory;
56 }
57
58 const std::vector<XYCoords>& getPhotonTrajectory() const {
59 return photon_trajectory_;
60 }
61 void setPhotonTrajectory(const std::vector<XYCoords>& photon_trajectory) {
62 photon_trajectory_ = photon_trajectory;
63 }
64
65 const std::vector<HitData>& getTrackingHitList() const {
66 return tracking_hit_list_;
67 }
68 void setTrackingHitList(const std::vector<HitData>& hits) {
69 tracking_hit_list_ = hits;
70 }
71
72 private:
73 std::vector<XYCoords> ele_trajectory_;
74 std::vector<XYCoords> photon_trajectory_;
75 std::vector<HitData> tracking_hit_list_;
76
77 ClassDef(EcalTrajectoryInfo, 2);
78}; // EcalTrajectoryInfo
79
80} // namespace ldmx
81
82#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.