LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
recob Namespace Reference

Reconstruction base classes. More...

Namespaces

 details
 
 dumper
 
 tracking
 

Classes

class  ChargedSpacePointCollectionCreator
 Creates a collection of space points with associated charge. More...
 
class  Cluster
 Set of hits with a 2D structure. More...
 
class  DumpChargedSpacePoints
 Prints the content of all the space points and charge on screen. More...
 
class  DumpClusters
 Prints the content of all the clusters on screen. More...
 
class  DumpPCAxes
 Prints the content of all the PCA axis object on screen. More...
 
class  DumpPFParticles
 Prints the content of all the ParticleFlow particles on screen. More...
 
class  DumpSeeds
 Prints the content of all the seeds on screen. More...
 
class  DumpSpacePoints
 Prints the content of all the space points on screen. More...
 
class  DumpTracks
 Prints the content of all the tracks on screen. More...
 
class  DumpVertices
 Prints the content of all the vertices on screen. More...
 
class  Edge
 Edge is an object containing the results of a Principal Components Analysis of a group of space points. More...
 
class  EndPoint2D
 
class  Event
 
class  Hit
 2D representation of charge deposited in the TDC/wire plane More...
 
class  HitAndAssociationsWriterBase
 Base class handling a collection of hits and its associations. More...
 
class  HitAndAssociationsWriterManager
 A helper to centralise creation of a hit collection data product. More...
 
class  HitCollectionAssociator
 A class handling a collection of hits and its associations. More...
 
class  HitCollectionCreator
 A class handling a collection of hits and its associations. More...
 
class  HitCreator
 Class managing the creation of a new recob::Hit object. More...
 
class  HitRefinerAssociator
 A class handling a collection of hits and its associations. More...
 
class  MCSFitResult
 Class storing the result of the Maximum Likelihood fit of Multiple Coulomb Scattering angles between segments within a Track or Trajectory. More...
 
class  OpFlash
 
struct  OpFlashSortByTime
 
class  OpHit
 
class  OpWaveform
 Class holding the regions of interest of signal from a photon detector channel. More...
 
class  PCAxis
 
class  PFParticle
 Hierarchical representation of particle flow. More...
 
class  PointCharge
 Charge reconstructed in the active volume. More...
 
class  Seed
 
class  Shower
 
class  Slice
 
class  SpacePoint
 
class  Track
 Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track: More...
 
class  TrackFitHitInfo
 Object storing per-hit information from a track fit. More...
 
class  TrackHitMeta
 Data related to recob::Hit associated with recob::Track.The purpose is to collect several variables that do not work well alone inside track class and are related to 2D hits along the 3D trajectory. So in the first place it is the hit index along the trajectory. There is also dx associated to hit to help dE/dx calculations. More...
 
class  TrackTrajectory
 A trajectory in space reconstructed from hits. More...
 
class  Trajectory
 A trajectory in space reconstructed from hits. More...
 
class  TrajectoryPointFlags
 Set of flags pertaining a point of the track. More...
 
struct  TrajectoryPointFlagTraits
 Namespace for the trajectory point flags. More...
 
class  Vertex
 Definition of vertex object for LArSoft. More...
 
class  VertexAssnMeta
 Class storing the meta-data for track-vertex association: status, propagation distance, impact parameter, impact parameter error, chi2. More...
 
class  Wire
 Class holding the regions of interest of signal from a channel. More...
 
class  WireCreator
 Class managing the creation of a new recob::Wire object. More...
 

Typedefs

using HitCollectionCreatorManager = HitAndAssociationsWriterManager< HitCollectionCreator >
 A manager for recob::HitCollectionCreator writer class. More...
 
using SVector5 = tracking::SVector5
 
using SMatrixSym55 = tracking::SMatrixSym55
 

Functions

std::ostream & operator<< (std::ostream &o, Cluster const &c)
 
bool operator< (Cluster const &a, Cluster const &b)
 
std::ostream & operator<< (std::ostream &o, const Edge &a)
 Streaming operator: prints the edge a into the specified stream. More...
 
bool operator< (const Edge &a, const Edge &b)
 Comparison operator: strict ordering of edge by ID. More...
 
bool operator< (const Edge &e, Edge::ID_t id)
 Comparison operator: strict ordering of edge by ID. More...
 
bool operator< (Edge::ID_t id, const Edge &e)
 Comparison operator: strict ordering of edge by ID. More...
 
std::ostream & operator<< (std::ostream &o, const EndPoint2D &ep)
 
std::ostream & operator<< (std::ostream &o, const Event &a)
 
bool operator< (const Event &a, const Event &b)
 
std::ostream & operator<< (std::ostream &o, Hit const &hit)
 
bool operator< (const Hit &a, const Hit &b)
 
bool operator< (const OpFlash &a, const OpFlash &b)
 
std::ostream & operator<< (std::ostream &out, OpFlash const &flash)
 
bool operator< (const OpHit &a, const OpHit &b)
 
std::ostream & operator<< (std::ostream &out, OpHit const &hit)
 
std::ostream & operator<< (std::ostream &o, const PCAxis &a)
 
bool operator< (const PCAxis &a, const PCAxis &b)
 
std::ostream & operator<< (std::ostream &o, const PFParticle &c)
 
bool operator< (const PFParticle &a, const PFParticle &b)
 
std::ostream & operator<< (std::ostream &out, recob::PointCharge const &charge)
 Dumps the content of a recob::PointCharge object into an output stream. More...
 
void CrossProd (double x1, double x2, double x3, double y1, double y2, double y3, double &out1, double &out2, double &out3)
 
std::ostream & operator<< (std::ostream &o, Seed const &a)
 
bool operator< (const Seed &a, const Seed &b)
 
std::ostream & operator<< (std::ostream &o, Shower const &a)
 
bool operator< (const Shower &a, const Shower &b)
 
std::ostream & operator<< (std::ostream &o, const SpacePoint &a)
 
bool operator< (const SpacePoint &a, const SpacePoint &b)
 
bool operator< (SpacePoint const &s, SpacePoint::ID_t id)
 Comparison of a space point with an ID, for sorting and lookup. More...
 
bool operator< (SpacePoint::ID_t id, SpacePoint const &s)
 Comparison of a space point with an ID, for sorting and lookup. More...
 
std::ostream & operator<< (std::ostream &stream, Track const &a)
 
bool operator< (const Track &a, const Track &b)
 
std::ostream & operator<< (std::ostream &o, const TrackHitMeta &a)
 
bool operator< (const TrackHitMeta &a, const TrackHitMeta &b)
 
std::ostream & operator<< (std::ostream &&out, TrackTrajectory const &traj)
 Prints trajectory content into a stream. More...
 
std::ostream & operator<< (std::ostream &out, Trajectory const &traj)
 Prints trajectory content into a stream. More...
 
std::ostream & operator<< (std::ostream &out, recob::TrajectoryPointFlags const &flags)
 Dumps flags into a stream with default verbosity. More...
 
std::ostream & operator<< (std::ostream &o, const Vertex &a)
 
bool operator< (const Vertex &a, const Vertex &b)
 

Detailed Description

Reconstruction base classes.

Definition of utility objects for use in the 3D clustering for LArSoft.

The objects defined in this module are intended for internal use by the 3D clustering (see Cluster3D_module.cc in larreco/ClusterFinder). These objects mostly contain volatile information and are not suitable for storage in the art event store

Author
usher.nosp@m.@sla.nosp@m.c.sta.nosp@m.nfor.nosp@m.d.edu

Typedef Documentation

Definition at line 10 of file TrackFitHitInfo.h.

Definition at line 9 of file TrackFitHitInfo.h.

Function Documentation

void recob::CrossProd ( double  x1,
double  x2,
double  x3,
double  y1,
double  y2,
double  y3,
double &  out1,
double &  out2,
double &  out3 
)

Definition at line 287 of file Seed.cxx.

References y1, y2, and y3.

Referenced by recob::Seed::GetDistanceFrom().

296  {
297  out1 = (x2 * y3 - x3 * y2);
298  out2 = (x3 * y1 - x1 * y3);
299  out3 = (x1 * y2 - x2 * y1);
300  }
Float_t y1[n_points_granero]
Definition: compare.C:5
Float_t x1[n_points_granero]
Definition: compare.C:5
Float_t x3[n_points_geant4]
Float_t y2[n_points_geant4]
Definition: compare.C:26
Float_t x2[n_points_geant4]
Definition: compare.C:26
Float_t y3[n_points_geant4]
bool recob::operator< ( const Track a,
const Track b 
)

Definition at line 37 of file Track.cxx.

References recob::Track::ID().

38  {
39  if (a.ID() != b.ID()) return a.ID() < b.ID();
40 
41  return false; //They are equal
42  }
bool recob::operator< ( const PFParticle a,
const PFParticle b 
)

Definition at line 45 of file PFParticle.cxx.

References recob::PFParticle::Self().

46  {
47  return a.Self() < b.Self();
48  }
bool recob::operator< ( const Vertex a,
const Vertex b 
)

Definition at line 58 of file Vertex.cxx.

References recob::Vertex::XYZ().

59  {
60  double xyza[3] = {0.};
61  double xyzb[3] = {0.};
62  a.XYZ(xyza);
63  b.XYZ(xyzb);
64 
65  return xyza[2] < xyzb[2];
66  }
bool recob::operator< ( const Shower a,
const Shower b 
)

Definition at line 62 of file Shower.cxx.

References recob::Shower::ID().

63  {
64  if (a.ID() != b.ID()) return a.ID() < b.ID();
65 
66  return false; //They are equal
67  }
bool recob::operator< ( SpacePoint const &  s,
SpacePoint::ID_t  id 
)
inline

Comparison of a space point with an ID, for sorting and lookup.

Definition at line 62 of file SpacePoint.h.

References recob::SpacePoint::ID().

63  {
64  return s.ID() < id;
65  }
bool recob::operator< ( const SpacePoint a,
const SpacePoint b 
)

Definition at line 64 of file SpacePoint.cxx.

References recob::SpacePoint::ID().

65  {
66  if (a.ID() != b.ID()) return a.ID() < b.ID();
67 
68  return false; //They are equal
69  }
bool recob::operator< ( SpacePoint::ID_t  id,
SpacePoint const &  s 
)
inline

Comparison of a space point with an ID, for sorting and lookup.

Definition at line 67 of file SpacePoint.h.

References recob::SpacePoint::ID().

68  {
69  return id < s.ID();
70  }
bool recob::operator< ( const PCAxis a,
const PCAxis b 
)

Definition at line 69 of file PCAxis.cxx.

References recob::PCAxis::getID().

70  {
71  if (a.getID() != b.getID()) return a.getID() < b.getID();
72 
73  return false; //They are equal
74  }
bool recob::operator< ( const Event a,
const Event b 
)

Definition at line 71 of file Event.cxx.

References recob::Event::Energy().

72  {
73  return a.Energy() < b.Energy();
74  }
bool recob::operator< ( const TrackHitMeta a,
const TrackHitMeta b 
)
inline

Definition at line 80 of file TrackHitMeta.h.

References recob::TrackHitMeta::Index().

81  {
82  return a.Index() < b.Index();
83  }
bool recob::operator< ( const OpHit a,
const OpHit b 
)

Definition at line 80 of file OpHit.cxx.

References recob::OpHit::PE().

81  {
82  return a.PE() < b.PE();
83  }
bool recob::operator< ( const OpFlash a,
const OpFlash b 
)

Definition at line 88 of file OpFlash.cxx.

References recob::OpFlash::Time().

89  {
90  return a.Time() < b.Time();
91  }
bool recob::operator< ( const Hit a,
const Hit b 
)

Definition at line 106 of file Hit.cxx.

References recob::Hit::Channel(), recob::Hit::PeakTime(), and recob::Hit::View().

107  {
108  if (a.Channel() != b.Channel()) return a.Channel() < b.Channel();
109  if (a.View() != b.View()) return a.View() < b.View();
110  if (a.PeakTime() != b.PeakTime()) return a.PeakTime() < b.PeakTime();
111 
112  return false; //They are equal
113  } // operator< (Hit, Hit)
bool recob::operator< ( const Edge a,
const Edge b 
)
inline

Comparison operator: strict ordering of edge by ID.

Definition at line 128 of file Edge.h.

References recob::Edge::ID().

129  {
130  return a.ID() < b.ID();
131  }
bool recob::operator< ( const Edge e,
Edge::ID_t  id 
)
inline

Comparison operator: strict ordering of edge by ID.

Definition at line 133 of file Edge.h.

References recob::Edge::ID().

134  {
135  return e.ID() < id;
136  }
Float_t e
Definition: plot.C:35
bool recob::operator< ( Edge::ID_t  id,
const Edge e 
)
inline

Comparison operator: strict ordering of edge by ID.

Definition at line 138 of file Edge.h.

References recob::Edge::ID().

139  {
140  return id < e.ID();
141  }
Float_t e
Definition: plot.C:35
bool recob::operator< ( Cluster const &  a,
Cluster const &  b 
)

Definition at line 188 of file Cluster.cxx.

References recob::Cluster::EndTick(), recob::Cluster::hasPlane(), recob::Cluster::ID(), recob::Cluster::Plane(), recob::Cluster::StartTick(), and recob::Cluster::View().

Referenced by reco::Cluster3D::clearStatusBits(), reco::PrincipalComponents::setAveHitDoca(), and reco::ClusterHit2D::setHit().

189  {
190 
191  if (a.hasPlane() && b.hasPlane() && a.Plane() != b.Plane()) return a.Plane() < b.Plane();
192  if (a.View() != b.View()) return a.View() < b.View();
193  if (a.ID() != b.ID()) return a.ID() < b.ID();
194  if (a.StartTick() != b.StartTick()) return a.StartTick() < b.StartTick();
195  if (a.EndTick() != b.EndTick()) return a.EndTick() < b.EndTick();
196 
197  return false; // they are equal enough
198  } // operator < (Cluster, Cluster)
bool recob::operator< ( const Seed a,
const Seed b 
)

Definition at line 315 of file Seed.cxx.

References recob::Seed::fSeedPoint.

316  {
317  if (a.fSeedPoint[2] != b.fSeedPoint[2]) { return a.fSeedPoint[2] < b.fSeedPoint[2]; }
318  else if (a.fSeedPoint[1] != b.fSeedPoint[1]) {
319  return a.fSeedPoint[1] < b.fSeedPoint[1];
320  }
321 
322  return a.fSeedPoint[0] < b.fSeedPoint[0];
323  }
std::ostream& recob::operator<< ( std::ostream &  stream,
Track const &  a 
)

Definition at line 20 of file Track.cxx.

References util::end(), recob::Track::EndDirection(), recob::Track::ID(), recob::Track::NumberTrajectoryPoints(), recob::Track::Phi(), art::right(), recob::Track::Theta(), and recob::Track::VertexDirection().

21  {
22  auto const& start = a.VertexDirection();
23  auto const& end = a.EndDirection();
24  stream << std::setiosflags(std::ios::fixed) << std::setprecision(3) << "\n Track ID "
25  << std::setw(4) << std::right << a.ID() << " Theta = " << std::setw(6) << std::right
26  << a.Theta() << " Phi = " << std::setw(6) << std::right << a.Phi()
27  << "\n StartCosines : ( " << start.X() << " ; " << start.Y() << " ; " << start.Z()
28  << ") EndCosines : ( " << end.X() << " ; " << end.Y() << " ; " << end.Z() << ")"
29  << "\n #Position and Direction = " << std::setw(5) << std::right
30  << a.NumberTrajectoryPoints();
31  stream << std::endl;
32 
33  return stream;
34  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
decltype(auto) constexpr end(T &&obj)
ADL-aware version of std::end.
Definition: StdUtils.h:77
std::ostream& recob::operator<< ( std::ostream &  o,
const PFParticle c 
)

Definition at line 33 of file PFParticle.cxx.

References recob::PFParticle::IsPrimary(), recob::PFParticle::NumDaughters(), recob::PFParticle::PdgCode(), and art::right().

34  {
35  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
36  o << "PFParticle hypothesis PDG Code " << std::setw(8) << std::right << c.PdgCode()
37  << ", is primary = " << c.IsPrimary() << ", # Daughters " << std::setw(5) << std::right
38  << c.NumDaughters() << std::endl;
39 
40  return o;
41  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
std::ostream& recob::operator<< ( std::ostream &  o,
const EndPoint2D ep 
)

Definition at line 39 of file EndPoint2D.cxx.

References geo::CryostatID::Cryostat, recob::EndPoint2D::DriftTime(), recob::EndPoint2D::ID(), geo::PlaneID::Plane, art::right(), geo::TPCID::TPC, recob::EndPoint2D::View(), geo::WireID::Wire, and recob::EndPoint2D::WireID().

40  {
41  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
42  o << "EndPoint2D ID " << std::setw(5) << std::right << ep.ID() << " WireID : \n"
43  << "\tCryostat = " << std::setw(7) << std::right << ep.WireID().Cryostat
44  << "\tTPC = " << std::setw(7) << std::right << ep.WireID().TPC << "\tPlane = " << std::setw(7)
45  << std::right << ep.WireID().Plane << "\tWire Number = " << std::setw(7) << std::right
46  << ep.WireID().Wire << " View = " << std::setw(9) << std::right << ep.View()
47  << " Time = " << std::setw(9) << std::right << ep.DriftTime();
48 
49  return o;
50  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
std::ostream& recob::operator<< ( std::ostream &  o,
const PCAxis a 
)

Definition at line 43 of file PCAxis.cxx.

References recob::PCAxis::fAveHitDoca, recob::PCAxis::fAvePosition, recob::PCAxis::fEigenValues, recob::PCAxis::fEigenVectors, recob::PCAxis::fID, recob::PCAxis::fNumHitsUsed, recob::PCAxis::fSvdOK, and art::right().

44  {
45  if (a.fSvdOK) {
46  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
47  o << " PCAxis ID " << a.fID << " run with " << a.fNumHitsUsed << " space points" << std::endl;
48  o << " - center position: " << std::setw(6) << a.fAvePosition[0] << ", "
49  << a.fAvePosition[1] << ", " << a.fAvePosition[2] << std::endl;
50  o << " - eigen values: " << std::setw(8) << std::right << a.fEigenValues[0] << ", "
51  << a.fEigenValues[1] << ", " << a.fEigenValues[2] << std::endl;
52  o << " - average doca: " << a.fAveHitDoca << std::endl;
53  o << " - Principle axis: " << std::setw(7) << std::setprecision(4) << a.fEigenVectors[0][0]
54  << ", " << a.fEigenVectors[0][1] << ", " << a.fEigenVectors[0][2] << std::endl;
55  o << " - second axis: " << std::setw(7) << std::setprecision(4) << a.fEigenVectors[1][0]
56  << ", " << a.fEigenVectors[1][1] << ", " << a.fEigenVectors[1][2] << std::endl;
57  o << " - third axis: " << std::setw(7) << std::setprecision(4) << a.fEigenVectors[2][0]
58  << ", " << a.fEigenVectors[2][1] << ", " << a.fEigenVectors[2][2] << std::endl;
59  }
60  else
61  o << " Principal Components Axis is not valid" << std::endl;
62 
63  return o;
64  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
std::ostream& recob::operator<< ( std::ostream &  o,
const Vertex a 
)

Definition at line 46 of file Vertex.cxx.

References recob::Vertex::id_, and recob::Vertex::pos_.

47  {
48  o << std::setprecision(5);
49  o << "Vertex ID " << a.id_ << std::setw(5) << " (x,y,z) = (" << a.pos_.X() << ","
50  << a.pos_.Y() << "," << a.pos_.Z() << ")";
51 
52  return o;
53  }
std::ostream& recob::operator<< ( std::ostream &  o,
Shower const &  a 
)

Definition at line 50 of file Shower.cxx.

References recob::Shower::best_plane(), recob::Shower::dEdx(), recob::Shower::Energy(), recob::Shower::ID(), and art::right().

51  {
52  o << std::setiosflags(std::ios::fixed) << std::setprecision(3);
53  o << " Shower ID " << std::setw(4) << std::right << a.ID();
54  o << " Energy " << std::setw(4) << std::right << a.Energy()[a.best_plane()];
55  o << " dEdx " << std::setw(4) << std::right << a.dEdx()[a.best_plane()];
56  return o;
57  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
std::ostream& recob::operator<< ( std::ostream &  o,
const SpacePoint a 
)

Definition at line 51 of file SpacePoint.cxx.

References recob::SpacePoint::ID(), art::right(), and recob::SpacePoint::XYZ().

52  {
53  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
54  o << " SpacePoint ID " << std::setw(5) << std::right << a.ID() << " (X,Y,Z) = (" << std::setw(5)
55  << std::right << a.XYZ()[0] << " , " << std::setw(5) << std::right << a.XYZ()[1] << " , "
56  << std::setw(5) << std::right << a.XYZ()[2] << ")";
57 
58  return o;
59  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
std::ostream & recob::operator<< ( std::ostream &  o,
const Edge a 
)

Streaming operator: prints the edge a into the specified stream.

Definition at line 53 of file Edge.cxx.

References recob::Edge::FirstPointID(), recob::Edge::ID(), recob::Edge::Length(), and recob::Edge::SecondPointID().

54  {
55  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
56  o << " Edge ID " << a.ID() << " has length " << std::setw(6) << a.Length() << " cm"
57  << std::endl;
58  o << " - First Point ID: " << a.FirstPointID() << ", second point ID: " << a.SecondPointID()
59  << std::endl;
60 
61  return o;
62  }
std::ostream& recob::operator<< ( std::ostream &  o,
const Event a 
)

Definition at line 58 of file Event.cxx.

References recob::Event::Energy(), recob::Event::fID, and recob::Event::SigmaEnergy().

59  {
60 
61  o << std::setprecision(5);
62  o << "Event " << a.fID << std::setw(5) << " Energy = " << a.Energy() << " +/- "
63  << a.SigmaEnergy() << std::endl;
64 
65  return o;
66  }
std::ostream& recob::operator<< ( std::ostream &  o,
const TrackHitMeta a 
)
inline

Definition at line 74 of file TrackHitMeta.h.

References recob::TrackHitMeta::Index().

75  {
76  o << a.Index();
77  return o;
78  }
std::ostream& recob::operator<< ( std::ostream &  o,
Hit const &  hit 
)

Definition at line 82 of file Hit.cxx.

References recob::Hit::Channel(), recob::Hit::DegreesOfFreedom(), recob::Hit::EndTick(), recob::Hit::GoodnessOfFit(), recob::Hit::Integral(), recob::Hit::LocalIndex(), recob::Hit::Multiplicity(), recob::Hit::PeakAmplitude(), recob::Hit::PeakTime(), art::right(), recob::Hit::RMS(), recob::Hit::SigmaIntegral(), recob::Hit::SigmaPeakAmplitude(), recob::Hit::SigmaPeakTime(), recob::Hit::SignalType(), recob::Hit::StartTick(), recob::Hit::SummedADC(), recob::Hit::View(), and recob::Hit::WireID().

83  {
84  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
85  o << " Channel " << std::setw(5) << std::right << hit.Channel() << " View = " << std::setw(3)
86  << std::right << hit.View() << " Signal type = " << std::setw(3) << std::right
87  << hit.SignalType() << " Wire = " << std::setw(3) << std::right << hit.WireID()
88  << "\n\tStartTick = " << std::setw(7) << std::right << hit.StartTick()
89  << "\tEndTick = " << std::setw(7) << std::right << hit.EndTick()
90  << "\tPeakTime = " << std::setw(7) << std::right << hit.PeakTime() << " +/- " << std::setw(7)
91  << std::right << hit.SigmaPeakTime() << "\tRMS = " << std::setw(7) << std::right << hit.RMS()
92  << "\n\tAmplitude = " << std::setw(7) << std::right << hit.PeakAmplitude() << " +/- "
93  << std::setw(7) << std::right << hit.SigmaPeakAmplitude() << "\tIntegral = " << std::setw(7)
94  << std::right << hit.Integral() << " +/- " << std::setw(7) << std::right
95  << hit.SigmaIntegral() << "\tADCsum = " << std::setw(7) << std::right << hit.SummedADC()
96  << "\tMultiplicity = " << std::setw(5) << std::right << hit.LocalIndex() << " of "
97  << hit.Multiplicity() << "\tGoodnessOfFit = " << std::setw(7) << std::right
98  << hit.GoodnessOfFit() << " DoF = " << std::setw(7) << std::right << hit.DegreesOfFreedom()
99  << std::endl;
100  return o;
101  } // operator<< (std::ostream, Hit)
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
Detector simulation of raw signals on wires.
std::ostream & recob::operator<< ( std::ostream &  out,
OpHit const &  hit 
)

Human-readable, single-line almost-complete dump of the hit content.

Frame() value is not printed. No end-of-line added.

Definition at line 86 of file OpHit.cxx.

References recob::OpHit::Amplitude(), recob::OpHit::Area(), recob::OpHit::DefaultTime, recob::OpHit::FastToTotal(), recob::OpHit::HasStartTime(), recob::OpHit::OpChannel(), recob::OpHit::PE(), recob::OpHit::PeakTime(), recob::OpHit::PeakTimeAbs(), recob::OpHit::RiseTime(), recob::OpHit::StartTime(), and recob::OpHit::Width().

87  {
88  // single line output
89 
90  out << "Hit on optical channel " << hit.OpChannel();
91  if (hit.HasStartTime()) out << " starting at " << hit.StartTime();
92  out << " us, peak at " << hit.PeakTime() << " us (absolute: " << hit.PeakTimeAbs() << " us)";
93  if (hit.RiseTime() != OpHit::DefaultTime) out << "; rise time: " << hit.RiseTime() << " us";
94  out << "; width " << hit.Width() << " us, amplitude " << hit.Amplitude() << " ADC#, integral "
95  << hit.Area() << " ADC#, " << hit.PE() << " photoelectrons";
96  if (hit.FastToTotal() > 0.0) out << "; fast fraction: " << hit.FastToTotal();
97 
98  return out;
99  }
Detector simulation of raw signals on wires.
std::ostream & recob::operator<< ( std::ostream &  out,
OpFlash const &  flash 
)

Human-readable, almost-complete dump of the hit content.

Frame() value is not printed. No end-of-line added.

Definition at line 100 of file OpFlash.cxx.

References recob::OpFlash::AbsTime(), recob::OpFlash::FastToTotal(), recob::OpFlash::hasXCenter(), recob::OpFlash::InBeamFrame(), recob::OpFlash::OnBeamTime(), recob::OpFlash::PE(), recob::OpFlash::PEs(), recob::OpFlash::Time(), recob::OpFlash::TimeWidth(), recob::OpFlash::TotalPE(), recob::OpFlash::WireCenters(), recob::OpFlash::WireWidths(), recob::OpFlash::XCenter(), recob::OpFlash::XWidth(), recob::OpFlash::YCenter(), recob::OpFlash::YWidth(), recob::OpFlash::ZCenter(), and recob::OpFlash::ZWidth().

101  {
102 
103  out << "Optical flash at " << flash.Time() << " us (absolute: " << flash.AbsTime() << " us) "
104  << flash.TimeWidth() << " us long, centered at (";
105  if (flash.hasXCenter())
106  out << flash.XCenter();
107  else
108  out << "?";
109  out << ", " << flash.YCenter() << ", " << flash.ZCenter() << ") cm of extension +/- (";
110  if (flash.hasXCenter())
111  out << flash.XWidth();
112  else
113  out << "?";
114  out << ", " << flash.YWidth() << ", " << flash.ZWidth() << ") cm ";
115  if (!flash.hasXCenter()) out << " (x: n/a)";
116 
117  out << "\n " << (flash.InBeamFrame() ? "" : "not ")
118  << "in beam frame (on beam time: " << flash.OnBeamTime() << ")";
119 
120  out << "\n total p.e.: " << flash.TotalPE() << " (fast/total fraction: " << flash.FastToTotal()
121  << ")";
122  std::size_t const nPEs = flash.PEs().size();
123  if (nPEs > 0) {
124  out << " across " << nPEs << " channels; non-empty:";
125  constexpr unsigned int pageSize = 8;
126  unsigned int line = 0;
127  for (std::size_t i = 0; i < nPEs; ++i) {
128  double const pe = flash.PE(i);
129  if (pe == 0.0) continue;
130  if (line-- == 0) {
131  line = pageSize;
132  out << "\n ";
133  }
134  out << " [" << i << "] " << pe;
135  }
136  }
137  else {
138  out << ", no channels recorded;";
139  }
140 
141  std::size_t const nWireCenters = flash.WireCenters().size();
142  std::size_t const nWireWidths = flash.WireWidths().size();
143  std::size_t const nWires = std::max(nWireCenters, nWireWidths);
144  out << "\n ";
145  if (nWires) {
146  out << nWires << " wires recorded (center +/- width):";
147  constexpr unsigned int pageSize = 5;
148  unsigned int line = 0;
149  for (std::size_t i = 0; i < nWires; ++i) {
150  if (line-- == 0) {
151  line = pageSize;
152  out << "\n ";
153  }
154  out << " [" << i << "] (";
155  if (i < nWireCenters)
156  out << flash.WireCenters()[i];
157  else
158  out << "n/a";
159  out << " +/- ";
160  if (i < nWireWidths)
161  out << flash.WireWidths()[i];
162  else
163  out << "n/a";
164  out << ")";
165  }
166  }
167  else
168  out << "no wire information recorded";
169 
170  return out;
171  } // std::ostream& operator<<(std::ostream&, OpFlash const&)
std::ostream& recob::operator<< ( std::ostream &  out,
recob::PointCharge const &  charge 
)
inline

Dumps the content of a recob::PointCharge object into an output stream.

Definition at line 131 of file PointCharge.h.

References recob::PointCharge::dump().

132  {
133  charge.dump(out);
134  return out;
135  }
std::ostream& recob::operator<< ( std::ostream &  o,
Cluster const &  c 
)

Definition at line 168 of file Cluster.cxx.

References geo::CryostatID::Cryostat, recob::Cluster::EndTick(), recob::Cluster::EndWire(), recob::Cluster::ID(), recob::Cluster::Integral(), recob::Cluster::NHits(), geo::PlaneID::Plane, recob::Cluster::Plane(), art::right(), recob::Cluster::StartTick(), recob::Cluster::StartWire(), recob::Cluster::SummedADC(), geo::TPCID::TPC, recob::Cluster::View(), and recob::Cluster::Width().

Referenced by reco::Cluster3D::clearStatusBits(), reco::ClusterHit3D::operator==(), reco::PrincipalComponents::setAveHitDoca(), and reco::ClusterHit2D::setHit().

169  {
170  o << std::setiosflags(std::ios::fixed) << std::setprecision(2);
171  o << "Cluster ID " << std::setw(5) << std::right << c.ID() << " : Cryo = " << std::setw(3)
172  << std::right << c.Plane().Cryostat << " TPC = " << std::setw(3) << std::right
173  << c.Plane().TPC << " Plane = " << std::setw(3) << std::right << c.Plane().Plane
174  << " View = " << std::setw(3) << std::right << c.View() << " StartWire = " << std::setw(7)
175  << std::right << c.StartWire() << " EndWire = " << std::setw(7) << std::right << c.EndWire()
176  << " StartTime = " << std::setw(9) << std::right << c.StartTick()
177  << " EndTime = " << std::setw(9) << std::right << c.EndTick()
178  << " N hits = " << std::setw(5) << std::right << c.NHits()
179  << " Width = " << std::setw(5) << std::right << c.Width()
180  << " Charge(fit) = " << std::setw(10) << std::right << c.Integral()
181  << " Charge(ADC) = " << std::setw(10) << std::right << c.SummedADC();
182  return o;
183  } // operator<< (ostream, Cluster)
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:102
std::ostream& recob::operator<< ( std::ostream &  o,
Seed const &  a 
)

Definition at line 303 of file Seed.cxx.

References recob::Seed::fSeedDirection, and recob::Seed::fSeedPoint.

304  {
305  o << "Printing seed contents : " << a.fSeedPoint[0] << " " << a.fSeedPoint[1] << " "
306  << a.fSeedPoint[2] << ", " << a.fSeedDirection[0] << " " << a.fSeedDirection[1] << " "
307  << a.fSeedDirection[2];
308 
309  return o;
310  }
std::ostream & recob::operator<< ( std::ostream &  out,
recob::TrajectoryPointFlags const &  flags 
)

Dumps flags into a stream with default verbosity.

Definition at line 124 of file TrajectoryPointFlags.cxx.

References recob::TrajectoryPointFlags::dump().

125 {
126  flags.dump(out);
127  return out;
128 }
std::ostream & recob::operator<< ( std::ostream &  out,
recob::Trajectory const &  traj 
)

Prints trajectory content into a stream.

Template Parameters
Streamtype of the output stream
Parameters
outstream to output the information into
trajtrajectory to be printed
Returns
a reference to stream

See recob::Trajectory::Dump() for details.

Definition at line 130 of file Trajectory.cxx.

References recob::Trajectory::Dump().

131 {
132  traj.Dump(out);
133  return out;
134 }
std::ostream & recob::operator<< ( std::ostream &&  out,
recob::TrackTrajectory const &  traj 
)

Prints trajectory content into a stream.

Template Parameters
Streamtype of the output stream
Parameters
outstream to output the information into
trajtrajectory to be printed
Returns
a reference to stream

See recob::Trajectory::Dump() for details.

Definition at line 99 of file TrackTrajectory.cxx.

References recob::TrackTrajectory::Dump().

100 {
101  traj.Dump(out);
102  return out;
103 }