StRoot
1
|
Public Member Functions | |
TowerClusterAssociation (StFmsTower *tower, int detectorId) | |
StFmsTower * | tower () |
const StFmsTower * | tower () const |
std::list< StFmsTowerCluster * > * | clusters () |
double | separation (const StFmsTower *tower) |
double | separation (const StFmsTowerCluster *cluster, const ETowerClusterDistance distance) |
bool | canAssociate (const StFmsTowerCluster *cluster) |
void | add (StFmsTowerCluster *cluster, const ETowerClusterDistance distance) |
void | associate (StFmsTowerCluster *cluster) |
StFmsTowerCluster * | nearestCluster () |
Association information between a tower and clusters.
This class is used in determining correct tower-cluster association. Stores an StFmsTower, and a list of StFmsTowerCluster with which it could potentially be associated. This information is used in determining the true cluster with which the tower is actually associated.
Inherits from TObject to allow it to be placed in a ROOT container.
Definition at line 175 of file StFmsClusterFinder.cxx.
|
inlineexplicit |
Constructor.
Initialise with the StFmsTower of interest.
Definition at line 182 of file StFmsClusterFinder.cxx.
|
inline |
Attempt to add a potential associate cluster with this tower.
Add the cluster to the list of potential associates if this tower can associate with it (see canAssociate()). If there is already one or more clusters in the list:
i.e. at any time there can only be clusters of the same (minimal) separation from the tower, but there can be multiple clusters of identical separation.
See separation(const StFmsTowerCluster*, const ETowerClusterDistance) for the meaning of the distance argument.
Returns true if the new cluster is added, false if not.
Definition at line 298 of file StFmsClusterFinder.cxx.
References associate(), canAssociate(), and separation().
|
inline |
Add a cluster to the list and set this tower's cluster index
Definition at line 318 of file StFmsClusterFinder.cxx.
References FMSCluster::StFmsTowerCluster::index(), and FMSCluster::StFmsTower::setCluster().
Referenced by add().
|
inline |
Returns true if this tower can be associated with a cluster.
A tower is defined as associable with a cluster if it:
Note this is a "potential" association; a tower may pass the association test with more than one cluster, but it will eventually be assigned unambiguously to a single cluster.
Definition at line 260 of file StFmsClusterFinder.cxx.
References FMSCluster::StFmsTower::hit(), FMSCluster::StFmsTower::isNeighbor(), tower(), and FMSCluster::StFmsTowerCluster::towers().
Referenced by add().
|
inline |
Returns the list of potential associate clusters
Definition at line 188 of file StFmsClusterFinder.cxx.
|
inline |
Calculate the nearest cluster out of the list of potential associates.
The distance is that between this tower and the cluster centre, (x0, y0), therefore StFmsTowerCluster::calculateClusterMoments() must have been called before doing this, in order to calculate x0 and y0 of the cluster.
Returns nullptr if there are no clusters in the list.
Definition at line 331 of file StFmsClusterFinder.cxx.
References separation().
|
inline |
Calculate the separation between this tower and another.
The separation is in row-column coordinates i.e. the distance is in the number of towers, not in cm. e.g. a tower at (column=1, row=1) would be a distance of 1 from a tower at (1, 2), and sqrt(2) from a tower at (2, 2).
Definition at line 196 of file StFmsClusterFinder.cxx.
References FMSCluster::StFmsTower::column(), FMSCluster::StFmsTower::hit(), and FMSCluster::StFmsTower::row().
Referenced by add(), nearestCluster(), and separation().
|
inline |
Calculate the separation between this tower and a cluster.
Distances can be calculated in different ways:
Definition at line 229 of file StFmsClusterFinder.cxx.
References FMSCluster::StFmsTowerCluster::cluster(), FMSCluster::StFmsTower::column(), FMSCluster::StFmsTower::hit(), FMSCluster::StFmsTower::row(), separation(), and FMSCluster::StFmsTowerCluster::towers().
|
inline |
Returns this tower.
Definition at line 184 of file StFmsClusterFinder.cxx.
Referenced by canAssociate().
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 186 of file StFmsClusterFinder.cxx.