LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
Calorimetry.h
Go to the documentation of this file.
1 // \version
3 //
4 // \brief Definition of data product to hold Calorimetry information
5 //
6 // \author brebel@fnal.gov, tjyang@fnal.gov
7 //
9 #ifndef ANAB_CALORIMETRY_H
10 #define ANAB_CALORIMETRY_H
11 
12 #include <vector>
13 #include <iosfwd>
14 #include <iostream>
15 #include <iomanip>
16 #include <TVector3.h>
17 
19 
20 namespace anab {
21 
22  class Calorimetry{
23  public:
24 
25  Calorimetry();
26 
27  double fKineticEnergy;
28  std::vector<double> fdEdx;
29  std::vector<double> fdQdx;
30  std::vector<double> fResidualRange;
31  std::vector<double> fDeadWireResR;
32  double fRange;
33  std::vector<double> fTrkPitch;
34  std::vector<TVector3> fXYZ;
35 
36  private:
38 
39  public:
40 
41  Calorimetry(double KinematicEnergy,
42  std::vector<double> const& dEdx,
43  std::vector<double> const& dQdx,
44  std::vector<double> const& resRange,
45  std::vector<double> const& deadwire,
46  double Range,
47  double TrkPitch,
48  geo::PlaneID planeID);
49 
51  std::vector<double> const& dEdx,
52  std::vector<double> const& dQdx,
53  std::vector<double> const& resRange,
54  std::vector<double> const& deadwire,
55  double Range,
56  std::vector<double> const& TrkPitch,
57  geo::PlaneID planeID);
58 
60  std::vector<double> const& dEdx,
61  std::vector<double> const& dQdx,
62  std::vector<double> const& resRange,
63  std::vector<double> const& deadwire,
64  double Range,
65  std::vector<double> const& TrkPitch,
66  std::vector<TVector3> const& XYZ,
67  geo::PlaneID planeID);
68 
69  friend std::ostream& operator << (std::ostream &o, Calorimetry const& a);
70 
71  const std::vector<double>& dEdx() const;
72  const std::vector<double>& dQdx() const;
73  const std::vector<double>& ResidualRange() const;
74  const std::vector<double>& DeadWireResRC() const;
75  const double& KineticEnergy() const;
76  const double& Range() const;
77  double TrkPitchC() const;
78  const std::vector<double>& TrkPitchVec() const;
79  const std::vector<TVector3>& XYZ() const;
80  const geo::PlaneID& PlaneID() const;
81 
82 
83  };
84 
85 }
86 
87 
88 inline const std::vector<double>& anab::Calorimetry::dEdx() const { return fdEdx; }
89 inline const std::vector<double>& anab::Calorimetry::dQdx() const { return fdQdx; }
90 inline const std::vector<double>& anab::Calorimetry::ResidualRange() const { return fResidualRange; }
91 inline const std::vector<double>& anab::Calorimetry::DeadWireResRC() const { return fDeadWireResR; }
92 inline const double& anab::Calorimetry::KineticEnergy() const { return fKineticEnergy; }
93 inline const double& anab::Calorimetry::Range() const { return fRange; }
94 inline const std::vector<double>& anab::Calorimetry::TrkPitchVec() const { return fTrkPitch; }
95 inline double anab::Calorimetry::TrkPitchC() const
96 {
97  if (fTrkPitch.size())
98  return fTrkPitch[0];
99  else return 0;
100 }
101 inline const std::vector<TVector3>& anab::Calorimetry::XYZ() const { return fXYZ; }
102 inline const geo::PlaneID& anab::Calorimetry::PlaneID() const { return fPlaneID; }
103 
104 #endif //ANAB_CALORIMETRY_H
friend std::ostream & operator<<(std::ostream &o, Calorimetry const &a)
double fRange
total range of track
Definition: Calorimetry.h:32
std::vector< TVector3 > fXYZ
coordinates of space points
Definition: Calorimetry.h:34
const std::vector< double > & DeadWireResRC() const
Definition: Calorimetry.h:91
const double & KineticEnergy() const
Definition: Calorimetry.h:92
The data type to uniquely identify a Plane.
Definition: geo_types.h:250
const geo::PlaneID & PlaneID() const
Definition: Calorimetry.h:102
std::vector< double > fdQdx
dQ/dx
Definition: Calorimetry.h:29
const std::vector< TVector3 > & XYZ() const
Definition: Calorimetry.h:101
std::vector< double > fdEdx
dE/dx, should be same size as fResidualRange
Definition: Calorimetry.h:28
std::vector< double > fResidualRange
range from end of track
Definition: Calorimetry.h:30
double fKineticEnergy
determined kinetic energy
Definition: Calorimetry.h:27
const std::vector< double > & dQdx() const
Definition: Calorimetry.h:89
std::vector< double > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
Definition of data types for geometry description.
std::vector< double > fDeadWireResR
dead wire residual range, collection plane
Definition: Calorimetry.h:31
double TrkPitchC() const
Definition: Calorimetry.h:95
const std::vector< double > & ResidualRange() const
Definition: Calorimetry.h:90
geo::PlaneID fPlaneID
Definition: Calorimetry.h:37
const double & Range() const
Definition: Calorimetry.h:93
const std::vector< double > & dEdx() const
Definition: Calorimetry.h:88
const std::vector< double > & TrkPitchVec() const
Definition: Calorimetry.h:94