LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Class merging clusters: recomputes start and end position and hit list. More...
Public Types | |
using | HitPtr_t = art::Ptr< recob::Hit > |
type of pointer to hits More... | |
using | HitVector_t = std::vector< HitPtr_t > |
vector of pointers to hits More... | |
using | ID_t = recob::Cluster::ID_t |
Type of cluster ID. More... | |
using | ClusterEnds_t = recob::Cluster::ClusterEnds_t |
Public Member Functions | |
ClusterAndHitMerger ()=default | |
ClusterAndHitMerger (recob::Cluster const &cluster, HitVector_t const &cluster_hits) | |
bool | Add (recob::Cluster const &cluster, HitVector_t const &cluster_hits, bool prepend=false) |
Merges a single cluster into this object. More... | |
bool | Add (recob::Cluster const &cluster) |
Merges a single cluster into this object. More... | |
Accessors | |
HitVector_t const & | Hits () const |
Returns a constant reference to the current list of hits. More... | |
unsigned int | NHits () const |
Number of hits in the cluster. More... | |
Protected Member Functions | |
void | AddHits (HitVector_t const &cluster_hits, bool prepend) |
Protected Attributes | |
HitVector_t | hits |
hits in the cluster More... | |
Accessors | |
float | fEndWires [ClusterEnds_t::NEnds] |
Data referring to start and end of the cluster. More... | |
float | fSigmaEndWires [ClusterEnds_t::NEnds] |
Uncertainty on wire coordinate of the start and end of the cluster. More... | |
float | fEndTicks [ClusterEnds_t::NEnds] |
Tick coordinate of the start and end of the cluster. More... | |
float | fSigmaEndTicks [ClusterEnds_t::NEnds] |
Uncertainty on tick coordinate of the start and end of the cluster. More... | |
float | fEndCharges [ClusterEnds_t::NEnds] |
Charge on the start and end wire of the cluster. More... | |
float | fAngles [ClusterEnds_t::NEnds] |
Angle of the start and end of the cluster, defined in [-pi,pi]. More... | |
float | fOpeningAngles [ClusterEnds_t::NEnds] |
Opening angle of the cluster shape at the start and end of the cluster. More... | |
float | fWidth |
A measure of the cluster width, in homogenized units. More... | |
geo::View_t | fView |
View for this cluster. More... | |
geo::PlaneID | fPlaneID |
Location of the start of the cluster. More... | |
unsigned int | n_clusters = 0 |
number of clusters added so far More... | |
float | StartWire () const |
Returns the wire coordinate of the start of the cluster. More... | |
float | StartTick () const |
Returns the tick coordinate of the start of the cluster. More... | |
float | SigmaStartWire () const |
Returns the uncertainty on wire coordinate of the start of the cluster. More... | |
float | SigmaStartTick () const |
Data referring to start and end of the cluster. More... | |
float | EndWire () const |
Returns the wire coordinate of the end of the cluster. More... | |
float | EndTick () const |
Returns the tick coordinate of the end of the cluster. More... | |
float | SigmaEndWire () const |
Returns the uncertainty on wire coordinate of the end of the cluster. More... | |
float | SigmaEndTick () const |
Returns the uncertainty on tick coordinate of the end of the cluster. More... | |
float | WireCoord (ClusterEnds_t side) const |
Returns the wire coordinate of one of the end sides of the cluster. More... | |
float | TickCoord (ClusterEnds_t side) const |
Returns the tick coordinate of one of the end sides of the cluster. More... | |
float | SigmaWireCoord (ClusterEnds_t side) const |
Returns the uncertainty on wire coordinate of one of the end sides of the cluster. More... | |
float | SigmaTickCoord (ClusterEnds_t side) const |
Returns the uncertainty on tick coordinate of one of the end sides of the cluster. More... | |
float | StartCharge () const |
Returns the charge on the first wire of the cluster. More... | |
float | StartAngle () const |
Returns the starting angle of the cluster. More... | |
float | StartOpeningAngle () const |
Returns the opening angle at the start of the cluster. More... | |
float | EndCharge () const |
Returns the charge on the last wire of the cluster. More... | |
float | EndAngle () const |
Returns the ending angle of the cluster. More... | |
float | EndOpeningAngle () const |
Returns the opening angle at the end of the cluster. More... | |
float | EdgeCharge (ClusterEnds_t side) const |
Returns the charge on the first or last wire of the cluster. More... | |
float | Angle (ClusterEnds_t side) const |
Returns the angle at either end of the cluster. More... | |
float | OpeningAngle (ClusterEnds_t side) const |
Returns the opening angle at either end of the cluster. More... | |
float | Width () const |
A measure of the cluster width, in homogenized units. More... | |
geo::View_t | View () const |
Returns the view for this cluster. More... | |
geo::PlaneID | Plane () const |
Returns the plane ID this cluster lies on. More... | |
bool | hasPlane () const |
Returns whether geometry plane is valid. More... | |
void | AdoptEnd (recob::Cluster const &cluster, ClusterEnds_t iEnd) |
Imports all the member of the corresponding end. More... | |
template<typename T > | |
static void | top (T &var, T value) |
Data referring to start and end of the cluster. More... | |
template<typename T > | |
static void | bot (T &var, T value) |
Data referring to start and end of the cluster. More... | |
Class merging clusters: recomputes start and end position and hit list.
Definition at line 290 of file LineMerger_module.cc.
|
inherited |
Definition at line 80 of file LineMerger_module.cc.
type of pointer to hits
Definition at line 295 of file LineMerger_module.cc.
using cluster::ClusterAndHitMerger::HitVector_t = std::vector<HitPtr_t> |
vector of pointers to hits
Definition at line 296 of file LineMerger_module.cc.
|
inherited |
Type of cluster ID.
Definition at line 79 of file LineMerger_module.cc.
|
default |
|
inline |
Definition at line 300 of file LineMerger_module.cc.
|
inherited |
Merges a single cluster into this object.
cluster | the cluster to be merged |
The two ends of the cluster are merged into this one, that gets extended.
The new cluster must have the same view as the prevopus ones and must lay on the same plane. If the new cluster has invalid plane, the current one is kept; if the current plane is invalid, it is overwritten (that means that if both are invalid, the merged cluster will also have an invalid plane).
Note that this code is crap unless the cluster is track-like.
Definition at line 255 of file LineMerger_module.cc.
References recob::Cluster::EndWire(), recob::Cluster::hasPlane(), recob::Cluster::isValid(), recob::Cluster::Plane(), recob::Cluster::StartWire(), recob::Cluster::View(), and recob::Cluster::Width().
Referenced by Add().
bool cluster::ClusterAndHitMerger::Add | ( | recob::Cluster const & | cluster, |
HitVector_t const & | cluster_hits, | ||
bool | prepend = false |
||
) |
Merges a single cluster into this object.
cluster | the cluster to be merged |
cluster_hits | the list of hits in this cluster |
prepend | if true, hits are inserted at the beginning of the list |
The two ends of the cluster are merged into this one, that gets extended. Hit lists are merged too: no check on existing hits nor double addition.
Note that this code is crap unless the cluster is track-like.
Definition at line 341 of file LineMerger_module.cc.
References cluster::ClusterMerger::Add(), and tca::AddHits().
|
inlineprotected |
Definition at line 334 of file LineMerger_module.cc.
|
protectedinherited |
Imports all the member of the corresponding end.
Definition at line 243 of file LineMerger_module.cc.
References recob::Cluster::Angle(), recob::Cluster::EdgeCharge(), recob::Cluster::OpeningAngle(), recob::Cluster::SigmaTickCoord(), recob::Cluster::SigmaWireCoord(), recob::Cluster::TickCoord(), and recob::Cluster::WireCoord().
|
inlineinherited |
Returns the angle at either end of the cluster.
Definition at line 178 of file LineMerger_module.cc.
|
inlinestaticprotectedinherited |
Data referring to start and end of the cluster.
Definition at line 237 of file LineMerger_module.cc.
References value.
|
inlineinherited |
Returns the charge on the first or last wire of the cluster.
Definition at line 174 of file LineMerger_module.cc.
|
inlineinherited |
Returns the ending angle of the cluster.
Definition at line 168 of file LineMerger_module.cc.
|
inlineinherited |
Returns the charge on the last wire of the cluster.
Definition at line 165 of file LineMerger_module.cc.
|
inlineinherited |
Returns the opening angle at the end of the cluster.
Definition at line 171 of file LineMerger_module.cc.
|
inlineinherited |
Returns the tick coordinate of the end of the cluster.
Definition at line 131 of file LineMerger_module.cc.
|
inlineinherited |
Returns the wire coordinate of the end of the cluster.
Definition at line 128 of file LineMerger_module.cc.
|
inlineinherited |
Returns whether geometry plane is valid.
Definition at line 195 of file LineMerger_module.cc.
|
inline |
Returns a constant reference to the current list of hits.
Definition at line 324 of file LineMerger_module.cc.
References hits().
|
inline |
Number of hits in the cluster.
Definition at line 327 of file LineMerger_module.cc.
References hits().
|
inlineinherited |
Returns the opening angle at either end of the cluster.
Definition at line 182 of file LineMerger_module.cc.
|
inlineinherited |
Returns the plane ID this cluster lies on.
Definition at line 192 of file LineMerger_module.cc.
|
inlineinherited |
Returns the uncertainty on tick coordinate of the end of the cluster.
Definition at line 137 of file LineMerger_module.cc.
|
inlineinherited |
Returns the uncertainty on wire coordinate of the end of the cluster.
Definition at line 134 of file LineMerger_module.cc.
|
inlineinherited |
Data referring to start and end of the cluster.
Definition at line 125 of file LineMerger_module.cc.
|
inlineinherited |
Returns the uncertainty on wire coordinate of the start of the cluster.
Definition at line 122 of file LineMerger_module.cc.
|
inlineinherited |
Returns the uncertainty on tick coordinate of one of the end sides of the cluster.
Definition at line 152 of file LineMerger_module.cc.
|
inlineinherited |
Returns the uncertainty on wire coordinate of one of the end sides of the cluster.
Definition at line 148 of file LineMerger_module.cc.
|
inlineinherited |
Returns the starting angle of the cluster.
Definition at line 159 of file LineMerger_module.cc.
|
inlineinherited |
Returns the charge on the first wire of the cluster.
Definition at line 156 of file LineMerger_module.cc.
|
inlineinherited |
Returns the opening angle at the start of the cluster.
Definition at line 162 of file LineMerger_module.cc.
|
inlineinherited |
Returns the tick coordinate of the start of the cluster.
Definition at line 119 of file LineMerger_module.cc.
|
inlineinherited |
Returns the wire coordinate of the start of the cluster.
Definition at line 116 of file LineMerger_module.cc.
|
inlineinherited |
Returns the tick coordinate of one of the end sides of the cluster.
Definition at line 144 of file LineMerger_module.cc.
|
inlinestaticprotectedinherited |
Data referring to start and end of the cluster.
Definition at line 232 of file LineMerger_module.cc.
References value.
|
inlineinherited |
Returns the view for this cluster.
Definition at line 189 of file LineMerger_module.cc.
|
inlineinherited |
A measure of the cluster width, in homogenized units.
Definition at line 186 of file LineMerger_module.cc.
|
inlineinherited |
Returns the wire coordinate of one of the end sides of the cluster.
Definition at line 140 of file LineMerger_module.cc.
|
protectedinherited |
Angle of the start and end of the cluster, defined in [-pi,pi].
Definition at line 214 of file LineMerger_module.cc.
|
protectedinherited |
Charge on the start and end wire of the cluster.
Definition at line 211 of file LineMerger_module.cc.
|
protectedinherited |
Tick coordinate of the start and end of the cluster.
Definition at line 205 of file LineMerger_module.cc.
|
protectedinherited |
Data referring to start and end of the cluster.
Definition at line 199 of file LineMerger_module.cc.
|
protectedinherited |
Opening angle of the cluster shape at the start and end of the cluster.
Definition at line 217 of file LineMerger_module.cc.
|
protectedinherited |
Location of the start of the cluster.
Definition at line 224 of file LineMerger_module.cc.
|
protectedinherited |
Uncertainty on tick coordinate of the start and end of the cluster.
Definition at line 208 of file LineMerger_module.cc.
|
protectedinherited |
Uncertainty on wire coordinate of the start and end of the cluster.
Definition at line 202 of file LineMerger_module.cc.
|
protectedinherited |
View for this cluster.
Definition at line 222 of file LineMerger_module.cc.
|
protectedinherited |
A measure of the cluster width, in homogenized units.
Definition at line 220 of file LineMerger_module.cc.
|
protected |
hits in the cluster
Definition at line 332 of file LineMerger_module.cc.
|
protectedinherited |
number of clusters added so far
Definition at line 226 of file LineMerger_module.cc.