Calorimetry.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////
2 // \version
3 //
4 // \brief Definition of data product to hold Calorimetry information
5 //
6 // \author brebel@fnal.gov, tjyang@fnal.gov
7 //
8 ////////////////////////////////////////////////////////////////////////////
9 #ifndef ANAB_CALORIMETRY_H
10 #define ANAB_CALORIMETRY_H
11 
12 #include <vector>
13 #include <iosfwd>
14 
17 
18 namespace anab {
19 
21 
22  class Calorimetry{
23  public:
24 
25  Calorimetry();
26 
27  float fKineticEnergy; ///< determined kinetic energy
28  std::vector<float> fdEdx; ///< dE/dx, should be same size as fResidualRange
29  std::vector<float> fdQdx; ///< dQ/dx
30  std::vector<float> fResidualRange; ///< range from end of track
31  std::vector<float> fDeadWireResR; ///< dead wire residual range, collection plane
32  float fRange; ///< total range of track
33  std::vector<float> fTrkPitch; ///< track pitch on collection plane
34  std::vector<Point_t> fXYZ; ///< coordinates of space points; for a discussion on the object type for coordinates see recob::tracking::Coord_t.
35  std::vector<size_t> fTpIndices; ///< indices of original trajectory points on track
36 
37  private:
39 
40  public:
41 
42  Calorimetry(float KinematicEnergy,
43  std::vector<float> const& dEdx,
44  std::vector<float> const& dQdx,
45  std::vector<float> const& resRange,
46  std::vector<float> const& deadwire,
47  float Range,
48  float TrkPitch,
49  geo::PlaneID planeID);
50 
52  std::vector<float> const& dEdx,
53  std::vector<float> const& dQdx,
54  std::vector<float> const& resRange,
55  std::vector<float> const& deadwire,
56  float Range,
57  std::vector<float> const& TrkPitch,
58  geo::PlaneID planeID);
59 
61  std::vector<float> const& dEdx,
62  std::vector<float> const& dQdx,
63  std::vector<float> const& resRange,
64  std::vector<float> const& deadwire,
65  float Range,
66  std::vector<float> const& TrkPitch,
67  std::vector<Point_t> const& XYZ,
68  geo::PlaneID planeID);
69 
71  std::vector<float> const& dEdx,
72  std::vector<float> const& dQdx,
73  std::vector<float> const& resRange,
74  std::vector<float> const& deadwire,
75  float Range,
76  std::vector<float> const& TrkPitch,
77  std::vector<Point_t> const& XYZ,
78  std::vector<size_t> const& TpIndices,
79  geo::PlaneID planeID);
80 
81  friend std::ostream& operator << (std::ostream &o, Calorimetry const& a);
82 
83  const std::vector<float>& dEdx() const;
84  const std::vector<float>& dQdx() const;
85  const std::vector<float>& ResidualRange() const;
86  const std::vector<float>& DeadWireResRC() const;
87  const float& KineticEnergy() const;
88  const float& Range() const;
89  float TrkPitchC() const;
90  const std::vector<float>& TrkPitchVec() const;
91  const std::vector<Point_t>& XYZ() const;
92  const std::vector<size_t>& TpIndices() const;
93  const geo::PlaneID& PlaneID() const;
94 
95 
96  };
97 
98 }
99 
100 
101 inline const std::vector<float>& anab::Calorimetry::dEdx() const { return fdEdx; }
102 inline const std::vector<float>& anab::Calorimetry::dQdx() const { return fdQdx; }
103 inline const std::vector<float>& anab::Calorimetry::ResidualRange() const { return fResidualRange; }
104 inline const std::vector<float>& anab::Calorimetry::DeadWireResRC() const { return fDeadWireResR; }
105 inline const float& anab::Calorimetry::KineticEnergy() const { return fKineticEnergy; }
106 inline const float& anab::Calorimetry::Range() const { return fRange; }
107 inline const std::vector<float>& anab::Calorimetry::TrkPitchVec() const { return fTrkPitch; }
108 inline float anab::Calorimetry::TrkPitchC() const
109 {
110  if (fTrkPitch.size())
111  return fTrkPitch[0];
112  else return 0;
113 }
114 inline const std::vector<anab::Point_t>& anab::Calorimetry::XYZ() const { return fXYZ; }
115 inline const std::vector<size_t>& anab::Calorimetry::TpIndices() const { return fTpIndices;}
116 inline const geo::PlaneID& anab::Calorimetry::PlaneID() const { return fPlaneID; }
117 
118 #endif //ANAB_CALORIMETRY_H
friend std::ostream & operator<<(std::ostream &o, Calorimetry const &a)
std::vector< float > fDeadWireResR
dead wire residual range, collection plane
Definition: Calorimetry.h:31
std::vector< size_t > fTpIndices
indices of original trajectory points on track
Definition: Calorimetry.h:35
std::vector< float > fdEdx
dE/dx, should be same size as fResidualRange
Definition: Calorimetry.h:28
float fKineticEnergy
determined kinetic energy
Definition: Calorimetry.h:27
recob::tracking::Point_t Point_t
Definition: Calorimetry.h:20
The data type to uniquely identify a Plane.
Definition: geo_types.h:472
const geo::PlaneID & PlaneID() const
Definition: Calorimetry.h:116
std::vector< float > fdQdx
dQ/dx
Definition: Calorimetry.h:29
const std::vector< Point_t > & XYZ() const
Definition: Calorimetry.h:114
const std::vector< float > & DeadWireResRC() const
Definition: Calorimetry.h:104
const std::vector< float > & ResidualRange() const
Definition: Calorimetry.h:103
std::vector< float > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
const std::vector< float > & dQdx() const
Definition: Calorimetry.h:102
const double a
std::vector< float > fResidualRange
range from end of track
Definition: Calorimetry.h:30
Definition of data types for geometry description.
const std::vector< float > & dEdx() const
Definition: Calorimetry.h:101
float TrkPitchC() const
Definition: Calorimetry.h:108
const std::vector< size_t > & TpIndices() const
Definition: Calorimetry.h:115
const std::vector< float > & TrkPitchVec() const
Definition: Calorimetry.h:107
float fRange
total range of track
Definition: Calorimetry.h:32
std::vector< Point_t > fXYZ
coordinates of space points; for a discussion on the object type for coordinates see recob::tracking:...
Definition: Calorimetry.h:34
const float & KineticEnergy() const
Definition: Calorimetry.h:105
geo::PlaneID fPlaneID
Definition: Calorimetry.h:38
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< Coord_t >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space. See recob::tracking::Coord_t for more detai...
Definition: TrackingTypes.h:26
const float & Range() const
Definition: Calorimetry.h:106