LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
ClusterCreator.cxx
Go to the documentation of this file.
1 
10 // declaration header
12 
13 // C/C++ standard library
14 #include <utility> // std::move()
15 #include <algorithm> // std::accumulate()
16 
17 // LArSoft libraries
21 
22 
24 namespace cluster {
25 
26  //****************************************************************************
27  //*** ClusterCreator
28  //----------------------------------------------------------------------
31  float start_wire,
32  float sigma_start_wire,
33  float start_tick,
34  float sigma_start_tick,
35  float end_wire,
36  float sigma_end_wire,
37  float end_tick,
38  float sigma_end_tick,
40  geo::View_t view,
41  geo::PlaneID const& plane,
42  recob::Cluster::SentryArgument_t sentry /* = recob::Cluster::Sentry */
43  ):
44  cluster(CreateCluster(
45  algo,
46  start_wire,
47  sigma_start_wire,
48  start_tick,
49  sigma_start_tick,
50  end_wire,
51  sigma_end_wire,
52  end_tick,
53  sigma_end_tick,
54  ID,
55  view,
56  plane,
57  sentry
58  ))
59  {} // ClusterCreator::ClusterCreator()
60 
61 
62  //----------------------------------------------------------------------
65  float start_wire,
66  float sigma_start_wire,
67  float start_tick,
68  float sigma_start_tick,
69  float end_wire,
70  float sigma_end_wire,
71  float end_tick,
72  float sigma_end_tick,
74  geo::View_t view,
75  geo::PlaneID const& plane,
76  recob::Cluster::SentryArgument_t sentry /* = recob::Cluster::Sentry */
77  ) {
78  return recob::Cluster(
79  start_wire,
80  sigma_start_wire,
81  start_tick,
82  sigma_start_tick,
83  algo.StartCharge().value(), // start_charge
84  algo.StartAngle().value(), // start_angle
85  algo.StartOpeningAngle().value(), // start_opening
86  end_wire,
87  sigma_end_wire,
88  end_tick,
89  sigma_end_tick,
90  algo.EndCharge().value(), // end_charge
91  algo.EndAngle().value(), // end_angle
92  algo.EndOpeningAngle().value(), // end_opening
93  algo.Integral().value(), // integral
94  algo.IntegralStdDev().value(), // integral_stddev
95  algo.SummedADC().value(), // summedADC
96  algo.SummedADCStdDev().value(), // summedADC_stddev
97  algo.NHits(), // n_hits
98  algo.MultipleHitDensity(), // multiple_hit_density
99  algo.Width(), // width
100  ID,
101  view,
102  plane,
103  sentry
104  );
105  } // ClusterCreator::CreateCluster()
106 
107 
108  //----------------------------------------------------------------------
109 } // namespace cluster
virtual Measure_t EndCharge()
Computes the charge on the first and last wire of the track.
virtual Measure_t IntegralStdDev()
Computes the standard deviation on the charge of the cluster hits.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
Declaration of signal hit object.
The data type to uniquely identify a Plane.
Definition: geo_types.h:250
virtual float Width()
Computes the width of the cluster.
Set of hits with a 2D structure.
Definition: Cluster.h:71
virtual Measure_t StartCharge()
Computes the charge on the first and last wire of the track.
Cluster finding and building.
recob::Cluster CreateCluster(ClusterParamsAlgBase &algo, float start_wire, float sigma_start_wire, float start_tick, float sigma_start_tick, float end_wire, float sigma_end_wire, float end_tick, float sigma_end_tick, recob::Cluster::ID_t ID, geo::View_t view, geo::PlaneID const &plane, recob::Cluster::SentryArgument_t sentry=recob::Cluster::Sentry)
Creates a cluster from direct information and a hit list.
Type of sentry argument.
Definition: Cluster.h:176
virtual Measure_t EndAngle()
Computes the angle at the start or end of the cluster.
Algorithm collection class computing cluster parameters.
virtual Measure_t SummedADCStdDev()
Computes the standard deviation on the charge of the cluster hits.
virtual Measure_t StartOpeningAngle()
Computes the opening angle at the start or end of the cluster.
Helper functions to create a cluster.
virtual Measure_t StartAngle()
Computes the angle at the start or end of the cluster.
Declaration of cluster object.
virtual float MultipleHitDensity()
Fraction of wires in the cluster with more than one hit.
virtual Measure_t Integral()
Computes the total charge of the cluster from Hit::Integral()
virtual Measure_t SummedADC()
Computes the total charge of the cluster from Hit::SummedADC()
virtual Measure_t EndOpeningAngle()
Computes the opening angle at the start or end of the cluster.
art framework interface to geometry description
ClusterCreator(ClusterParamsAlgBase &algo, float start_wire, float sigma_start_wire, float start_tick, float sigma_start_tick, float end_wire, float sigma_end_wire, float end_tick, float sigma_end_tick, recob::Cluster::ID_t ID, geo::View_t view, geo::PlaneID const &plane, recob::Cluster::SentryArgument_t sentry=recob::Cluster::Sentry)
Constructor: computes some information from hit list.
virtual size_t NHits()
Returns the number of hits in the cluster.
int ID_t
Type of cluster ID.
Definition: Cluster.h:74