StFms
0.0.0
FMS software in the STAR framework
|
#include <StFmsTowerCluster.h>
Public Types | |
typedef std::list< StFmsTower * > | Towers |
Shorthand for tower collection. More... | |
Public Member Functions | |
StFmsTowerCluster (StFmsCluster *cluster) | |
~StFmsTowerCluster () | |
void | Clear (const char *optionNotUsed="") |
void | calculateClusterMoments (Float_t energyCutoff) |
void | findClusterAxis (Float_t Ecoff) |
Int_t | index () const |
void | setIndex (Int_t index) |
float | sigmaX () const |
float | sigmaY () const |
float | sigmaXY () const |
Float_t | thetaAxis () const |
Float_t | chiSquare () const |
void | setChiSquare (Float_t chi2) |
float | energyCutoff () const |
Towers & | towers () |
const Towers & | towers () const |
StFmsFittedPhoton * | photons () |
const StFmsFittedPhoton * | photons () const |
StFmsCluster * | cluster () |
const StFmsCluster * | cluster () const |
StFmsCluster * | release () |
Protected Member Functions | |
void | findClusterAxis () |
Double_t | getSigma (Double_t theta) const |
Protected Attributes | |
Int_t | mIndex |
cluster number in an event, counts from 0 More... | |
Float_t | mSigmaX |
2nd moment in x More... | |
Float_t | mSigmaY |
2nd moment in y More... | |
Float_t | mSigmaXY |
2nd moment in x-y More... | |
Float_t | mThetaAxis |
Float_t | mChiSquare |
Chi-square of the fitting. More... | |
Float_t | mEnergyCutoff |
Cutoff on towers to use in moment calculations. More... | |
Towers | mTowers |
Towers that make the cluster. More... | |
std::unique_ptr< StFmsCluster > | mCluster |
Pointer to StEvent cluster. More... | |
StFmsFittedPhoton | mPhotons [kMaxPhotonsPerCluster] |
Photons in cluster. More... | |
Static Protected Attributes | |
static const int | kMaxPhotonsPerCluster = 2 |
Support 2-photon clusters. More... | |
Private Member Functions | |
StFmsTowerCluster (const StFmsTowerCluster &) | |
StFmsTowerCluster & | operator= (const StFmsTowerCluster &) |
A cluster of FMS towers.
This is an elaborated version of the simple StFmsCluster class, storing extra information needed during the clustering process.
The StFmsTower objects in its towers() list are not owned by the StFmsTowerCluster, so those towers must have a longer lifetime than it. The user must also take responsibility for deleting them if they are dynamically allocated.
Definition at line 38 of file StFmsTowerCluster.h.
typedef std::list<StFmsTower*> FMSCluster::StFmsTowerCluster::Towers |
Shorthand for tower collection.
Definition at line 40 of file StFmsTowerCluster.h.
|
explicit |
Constructor.
Initialise with a dynamically allocated StFmsCluster. The StFmsTowerCluster owns the StFmsCluster until the release() method is called, after which the StFmsTowerCluster no longer references a cluster and should not be used any longer.
Definition at line 26 of file StFmsTowerCluster.cxx.
FMSCluster::StFmsTowerCluster::~StFmsTowerCluster | ( | ) |
Destructor
Definition at line 31 of file StFmsTowerCluster.cxx.
|
private |
Disallow copy construction.
Use of unique_ptr makes this class non-copyable. This causes an error with CINT dictionary creation when a default copy constructor is generated, even if surrounding the unique_ptr code with #ifndef CINT. As copying isn't required for this class we therefore simply avoid the automatic constructor and forbid copying with a private constructor.
void FMSCluster::StFmsTowerCluster::calculateClusterMoments | ( | Float_t | energyCutoff | ) |
Calculate cluster moments (mean and sigma of tower (x, y) position).
Ignore towers below the energy cutoff.
Definition at line 43 of file StFmsTowerCluster.cxx.
|
inline |
Return the χ2 of the photon fit for this cluster.
Definition at line 83 of file StFmsTowerCluster.h.
void FMSCluster::StFmsTowerCluster::Clear | ( | const char * | optionNotUsed = "" | ) |
Definition at line 34 of file StFmsTowerCluster.cxx.
|
inline |
Return the StEvent cluster structure.
Definition at line 97 of file StFmsTowerCluster.h.
|
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 99 of file StFmsTowerCluster.h.
|
inline |
Cutoff on towers to use in moment calculations.
Definition at line 87 of file StFmsTowerCluster.h.
|
inline |
Determine cluster axis.
Also sets energy cutoff for cluster moments.
Definition at line 66 of file StFmsTowerCluster.h.
|
protected |
Determine cluster axis.
Definition at line 78 of file StFmsTowerCluster.cxx.
|
protected |
Calculate sigma w.r.t the axis going through the "center" and of an angle "theta" in x-y plane.
Definition at line 101 of file StFmsTowerCluster.cxx.
|
inline |
Return the index of this cluster in the event.
Definition at line 71 of file StFmsTowerCluster.h.
|
private |
Disallow assignment.
See comments for StFmsTowerCluster(const StFmsTowerCluster&).
|
inline |
Return the array of photons creating this cluster.
Definition at line 93 of file StFmsTowerCluster.h.
|
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 95 of file StFmsTowerCluster.h.
|
inline |
Return and give up ownership of the StEvent cluster structure.
Definition at line 101 of file StFmsTowerCluster.h.
|
inline |
Set the χ2 of the photon fit for this cluster.
Definition at line 85 of file StFmsTowerCluster.h.
|
inline |
Sets the index of this cluster in the event.
Definition at line 73 of file StFmsTowerCluster.h.
|
inline |
2nd moment in x.
Definition at line 75 of file StFmsTowerCluster.h.
|
inline |
2nd moment in x-y.
Definition at line 79 of file StFmsTowerCluster.h.
|
inline |
2nd moment in y.
Definition at line 77 of file StFmsTowerCluster.h.
|
inline |
Angle in x-y plane that defines the direction of least-2nd-sigma axis.
Definition at line 81 of file StFmsTowerCluster.h.
|
inline |
Return the list of towers in this cluster.
Definition at line 89 of file StFmsTowerCluster.h.
|
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 91 of file StFmsTowerCluster.h.
|
staticprotected |
Support 2-photon clusters.
Definition at line 104 of file StFmsTowerCluster.h.
|
protected |
Chi-square of the fitting.
Definition at line 116 of file StFmsTowerCluster.h.
|
protected |
Pointer to StEvent cluster.
Definition at line 120 of file StFmsTowerCluster.h.
|
protected |
Cutoff on towers to use in moment calculations.
Definition at line 117 of file StFmsTowerCluster.h.
|
protected |
cluster number in an event, counts from 0
Definition at line 110 of file StFmsTowerCluster.h.
|
protected |
Photons in cluster.
Definition at line 122 of file StFmsTowerCluster.h.
|
protected |
2nd moment in x
Definition at line 111 of file StFmsTowerCluster.h.
|
protected |
2nd moment in x-y
Definition at line 113 of file StFmsTowerCluster.h.
|
protected |
2nd moment in y
Definition at line 112 of file StFmsTowerCluster.h.
|
protected |
theta angle in x-y plane that define the direction of least-2nd-sigma axis
Definition at line 114 of file StFmsTowerCluster.h.
|
protected |
Towers that make the cluster.
Definition at line 118 of file StFmsTowerCluster.h.