StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FMSCluster::StFmsTowerCluster Class Reference

#include <StFmsTowerCluster.h>

Public Types

typedef std::list< StFmsTower * > Towers
 Shorthand for tower collection.
 
typedef std::vector
< StFmsFittedPhoton
Photons
 

Public Member Functions

 StFmsTowerCluster (StFmsCluster *cluster, Int_t detectorId)
 
virtual ~StFmsTowerCluster ()
 
void Clear (const char *optionNotUsed="")
 
void calculateClusterMoments (Double_t energyCutoff)
 
void findClusterAxis (Double_t Ecoff, Double_t xwidth, Double_t ywidth)
 
Int_t index () const
 
void setIndex (Int_t index)
 
Int_t detectorId () const
 
double etot () const
 
double sigmaX () const
 
double sigmaY () const
 
double sigmaXY () const
 
Double_t thetaAxis () const
 
Double_t chiSquare () const
 
Double_t chiSquare1 () const
 
Double_t chiSquare2 () const
 
void setChiSquare (Double_t chi2)
 
void setChiSquare1 (Double_t chi2)
 
void setChiSquare2 (Double_t chi2)
 
double energyCutoff () const
 
Towerstowers ()
 
const Towerstowers () const
 
Photons & photons ()
 
const Photons & photons () const
 
StFmsClustercluster ()
 
const StFmsClustercluster () const
 
StFmsClusterrelease ()
 

Protected Member Functions

void findClusterAxis (Double_t xwidth, Double_t ywidth)
 
Double_t getSigma (Double_t theta, Double_t xwidth, Double_t ywidth)
 

Protected Attributes

Int_t mIndex
 cluster number in an event, counts from 0
 
Int_t mDetectorId
 
Float_t mEtot
 
Double_t mSigmaX
 2nd moment in x
 
Double_t mSigmaY
 2nd moment in y
 
Double_t mSigmaXY
 2nd moment in x-y
 
Double_t mThetaAxis
 of least-2nd-sigma axis More...
 
Double_t mChiSquare
 Chi-square of the fitting.
 
Double_t mChiSquare1
 Chi-square of the fitting 1 photon.
 
Double_t mChiSquare2
 Chi-square of the fitting 2 photon.
 
Double_t mEnergyCutoff
 Cutoff on towers to use in moment calculations.
 
Towers mTowers
 Towers that make the cluster.
 
std::unique_ptr< StFmsClustermCluster
 Pointer to StEvent cluster.
 
Photons mPhotons
 Photons in cluster.
 

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 58 of file StFmsTowerCluster.h.

Constructor & Destructor Documentation

FMSCluster::StFmsTowerCluster::StFmsTowerCluster ( StFmsCluster cluster,
Int_t  detectorId 
)
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 51 of file StFmsTowerCluster.cxx.

FMSCluster::StFmsTowerCluster::~StFmsTowerCluster ( )
virtual

Destructor

Definition at line 56 of file StFmsTowerCluster.cxx.

Member Function Documentation

void FMSCluster::StFmsTowerCluster::calculateClusterMoments ( Double_t  energyCutoff)

Calculate cluster moments (mean and sigma of tower (x, y) position).

Ignore towers below the energy cutoff.

Definition at line 64 of file StFmsTowerCluster.cxx.

References FMSCluster::StFmsTower::column(), FMSCluster::StFmsTower::hit(), mCluster, mEnergyCutoff, mSigmaX, mSigmaXY, mSigmaY, mTowers, and FMSCluster::StFmsTower::row().

Referenced by FMSCluster::StFmsClusterFinder::calculateClusterMoments().

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

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

Definition at line 108 of file StFmsTowerCluster.h.

References mChiSquare.

StFmsCluster* FMSCluster::StFmsTowerCluster::cluster ( )
inline
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 128 of file StFmsTowerCluster.h.

References mCluster.

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

Return detectorId .

Definition at line 96 of file StFmsTowerCluster.h.

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

Cutoff on towers to use in moment calculations.

Definition at line 116 of file StFmsTowerCluster.h.

References mEnergyCutoff.

double FMSCluster::StFmsTowerCluster::etot ( ) const
inline

total energy

Definition at line 98 of file StFmsTowerCluster.h.

void FMSCluster::StFmsTowerCluster::findClusterAxis ( Double_t  Ecoff,
Double_t  xwidth,
Double_t  ywidth 
)
inline

Determine cluster axis.

Also sets energy cutoff for cluster moments.

Definition at line 87 of file StFmsTowerCluster.h.

References mEnergyCutoff.

void FMSCluster::StFmsTowerCluster::findClusterAxis ( Double_t  xwidth,
Double_t  ywidth 
)
protected

Determine cluster axis.

Definition at line 110 of file StFmsTowerCluster.cxx.

References getSigma(), mCluster, mSigmaX, mSigmaXY, mSigmaY, and mThetaAxis.

Double_t FMSCluster::StFmsTowerCluster::getSigma ( Double_t  theta,
Double_t  xwidth,
Double_t  ywidth 
)
protected

Calculate sigma w.r.t the axis going through the "center" and of an angle "theta" in x-y plane.

Definition at line 133 of file StFmsTowerCluster.cxx.

References FMSCluster::StFmsTower::column(), FMSCluster::StFmsTower::hit(), mCluster, mEnergyCutoff, mTowers, FMSCluster::StFmsTower::row(), and FMSCluster::StFmsTower::setXY().

Referenced by findClusterAxis().

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

Return the index of this cluster in the event.

Definition at line 92 of file StFmsTowerCluster.h.

References mIndex.

Referenced by FMSCluster::TowerClusterAssociation::associate(), and setIndex().

Photons& FMSCluster::StFmsTowerCluster::photons ( )
inline

Return the array of photons creating this cluster.

Definition at line 122 of file StFmsTowerCluster.h.

References mPhotons.

const Photons& 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 124 of file StFmsTowerCluster.h.

References mPhotons.

StFmsCluster * FMSCluster::StFmsTowerCluster::release ( )

Return and give up ownership of the StEvent cluster structure.

Definition at line 176 of file StFmsTowerCluster.cxx.

References mChiSquare1, mChiSquare2, and mCluster.

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

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

Definition at line 112 of file StFmsTowerCluster.h.

References mChiSquare.

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

Sets the index of this cluster in the event.

Definition at line 94 of file StFmsTowerCluster.h.

References index(), and mIndex.

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

2nd moment in x.

Definition at line 100 of file StFmsTowerCluster.h.

References mSigmaX.

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

2nd moment in x-y.

Definition at line 104 of file StFmsTowerCluster.h.

References mSigmaXY.

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

2nd moment in y.

Definition at line 102 of file StFmsTowerCluster.h.

References mSigmaY.

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

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

Definition at line 106 of file StFmsTowerCluster.h.

References mThetaAxis.

Towers& FMSCluster::StFmsTowerCluster::towers ( )
inline
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 120 of file StFmsTowerCluster.h.

References mTowers.

Member Data Documentation

Double_t FMSCluster::StFmsTowerCluster::mThetaAxis
protected

of least-2nd-sigma axis

theta angle in x-y plane that define the direction

Definition at line 144 of file StFmsTowerCluster.h.

Referenced by findClusterAxis(), and thetaAxis().


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