StFms  0.0.0
FMS software in the STAR framework
FMSCluster::StFmsTowerCluster Class Reference

#include <StFmsTowerCluster.h>

Collaboration diagram for FMSCluster::StFmsTowerCluster:

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
 
Towerstowers ()
 
const Towerstowers () const
 
StFmsFittedPhotonphotons ()
 
const StFmsFittedPhotonphotons () const
 
StFmsClustercluster ()
 
const StFmsClustercluster () const
 
StFmsClusterrelease ()
 

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< StFmsClustermCluster
 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 &)
 
StFmsTowerClusteroperator= (const StFmsTowerCluster &)
 

Detailed Description

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.

Member Typedef Documentation

Shorthand for tower collection.

Definition at line 40 of file StFmsTowerCluster.h.

Constructor & Destructor Documentation

FMSCluster::StFmsTowerCluster::StFmsTowerCluster ( StFmsCluster cluster)
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.

Here is the call graph for this function:

FMSCluster::StFmsTowerCluster::~StFmsTowerCluster ( )

Destructor

Definition at line 31 of file StFmsTowerCluster.cxx.

FMSCluster::StFmsTowerCluster::StFmsTowerCluster ( const StFmsTowerCluster )
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.

Member Function Documentation

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.

Here is the call graph for this function:

Here is the caller graph for this function:

Float_t FMSCluster::StFmsTowerCluster::chiSquare ( ) const
inline

Return the χ2 of the photon fit for this cluster.

Definition at line 83 of file StFmsTowerCluster.h.

Here is the caller graph for this function:

void FMSCluster::StFmsTowerCluster::Clear ( const char *  optionNotUsed = "")

Definition at line 34 of file StFmsTowerCluster.cxx.

Here is the call graph for this function:

Here is the caller graph for this function:

StFmsCluster* FMSCluster::StFmsTowerCluster::cluster ( )
inline

Return the StEvent cluster structure.

Definition at line 97 of file StFmsTowerCluster.h.

Here is the caller graph for this function:

const StFmsCluster* FMSCluster::StFmsTowerCluster::cluster ( ) const
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.

float FMSCluster::StFmsTowerCluster::energyCutoff ( ) const
inline

Cutoff on towers to use in moment calculations.

Definition at line 87 of file StFmsTowerCluster.h.

void FMSCluster::StFmsTowerCluster::findClusterAxis ( Float_t  Ecoff)
inline

Determine cluster axis.

Also sets energy cutoff for cluster moments.

Definition at line 66 of file StFmsTowerCluster.h.

Here is the call graph for this function:

void FMSCluster::StFmsTowerCluster::findClusterAxis ( )
protected

Determine cluster axis.

Definition at line 78 of file StFmsTowerCluster.cxx.

Here is the call graph for this function:

Here is the caller graph for this function:

Double_t FMSCluster::StFmsTowerCluster::getSigma ( Double_t  theta) const
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.

Here is the call graph for this function:

Here is the caller graph for this function:

Int_t FMSCluster::StFmsTowerCluster::index ( ) const
inline

Return the index of this cluster in the event.

Definition at line 71 of file StFmsTowerCluster.h.

Here is the caller graph for this function:

StFmsTowerCluster& FMSCluster::StFmsTowerCluster::operator= ( const StFmsTowerCluster )
private

Disallow assignment.

See comments for StFmsTowerCluster(const StFmsTowerCluster&).

StFmsFittedPhoton* FMSCluster::StFmsTowerCluster::photons ( )
inline

Return the array of photons creating this cluster.

Definition at line 93 of file StFmsTowerCluster.h.

Here is the caller graph for this function:

const StFmsFittedPhoton* FMSCluster::StFmsTowerCluster::photons ( ) const
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.

StFmsCluster* FMSCluster::StFmsTowerCluster::release ( )
inline

Return and give up ownership of the StEvent cluster structure.

Definition at line 101 of file StFmsTowerCluster.h.

Here is the caller graph for this function:

void FMSCluster::StFmsTowerCluster::setChiSquare ( Float_t  chi2)
inline

Set the χ2 of the photon fit for this cluster.

Definition at line 85 of file StFmsTowerCluster.h.

Here is the caller graph for this function:

void FMSCluster::StFmsTowerCluster::setIndex ( Int_t  index)
inline

Sets the index of this cluster in the event.

Definition at line 73 of file StFmsTowerCluster.h.

Here is the call graph for this function:

float FMSCluster::StFmsTowerCluster::sigmaX ( ) const
inline

2nd moment in x.

Definition at line 75 of file StFmsTowerCluster.h.

float FMSCluster::StFmsTowerCluster::sigmaXY ( ) const
inline

2nd moment in x-y.

Definition at line 79 of file StFmsTowerCluster.h.

float FMSCluster::StFmsTowerCluster::sigmaY ( ) const
inline

2nd moment in y.

Definition at line 77 of file StFmsTowerCluster.h.

Float_t FMSCluster::StFmsTowerCluster::thetaAxis ( ) const
inline

Angle in x-y plane that defines the direction of least-2nd-sigma axis.

Definition at line 81 of file StFmsTowerCluster.h.

Towers& FMSCluster::StFmsTowerCluster::towers ( )
inline

Return the list of towers in this cluster.

Definition at line 89 of file StFmsTowerCluster.h.

Here is the caller graph for this function:

const Towers& FMSCluster::StFmsTowerCluster::towers ( ) const
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.

Member Data Documentation

const int FMSCluster::StFmsTowerCluster::kMaxPhotonsPerCluster = 2
staticprotected

Support 2-photon clusters.

Definition at line 104 of file StFmsTowerCluster.h.

Float_t FMSCluster::StFmsTowerCluster::mChiSquare
protected

Chi-square of the fitting.

Definition at line 116 of file StFmsTowerCluster.h.

std::unique_ptr<StFmsCluster> FMSCluster::StFmsTowerCluster::mCluster
protected

Pointer to StEvent cluster.

Definition at line 120 of file StFmsTowerCluster.h.

Float_t FMSCluster::StFmsTowerCluster::mEnergyCutoff
protected

Cutoff on towers to use in moment calculations.

Definition at line 117 of file StFmsTowerCluster.h.

Int_t FMSCluster::StFmsTowerCluster::mIndex
protected

cluster number in an event, counts from 0

Definition at line 110 of file StFmsTowerCluster.h.

StFmsFittedPhoton FMSCluster::StFmsTowerCluster::mPhotons[kMaxPhotonsPerCluster]
protected

Photons in cluster.

Definition at line 122 of file StFmsTowerCluster.h.

Float_t FMSCluster::StFmsTowerCluster::mSigmaX
protected

2nd moment in x

Definition at line 111 of file StFmsTowerCluster.h.

Float_t FMSCluster::StFmsTowerCluster::mSigmaXY
protected

2nd moment in x-y

Definition at line 113 of file StFmsTowerCluster.h.

Float_t FMSCluster::StFmsTowerCluster::mSigmaY
protected

2nd moment in y

Definition at line 112 of file StFmsTowerCluster.h.

Float_t FMSCluster::StFmsTowerCluster::mThetaAxis
protected

theta angle in x-y plane that define the direction of least-2nd-sigma axis

Definition at line 114 of file StFmsTowerCluster.h.

Towers FMSCluster::StFmsTowerCluster::mTowers
protected

Towers that make the cluster.

Definition at line 118 of file StFmsTowerCluster.h.


The documentation for this class was generated from the following files: