1 #ifndef __StEEmcSmdCluster_h__
2 #define __StEEmcSmdCluster_h__
44 #include "StEEmcPool/StEEmcA2EMaker/StEEmcStrip.h"
45 #include "StEEmcPool/StEEmcA2EMaker/StEEmcTower.h"
47 #include "StEEmcBaseCluster.h"
60 void add(
const StEEmcStripVec_t &strips );
62 Float_t energy()
const {
return mEnergy;}
63 Float_t mean()
const {
return mMean;}
64 Float_t sigma()
const {
return mSigma;}
66 void mean(Float_t x){
mMean=x; }
67 void sigma(Float_t s){
mSigma=s; }
70 Float_t energy( Int_t nmax, Option_t *opts=
"mean" )
const;
71 Float_t sigma( Int_t nmax, Option_t *opts=
"mean" )
const;
73 Int_t size()
const {
return (Int_t)
mSize;}
77 Int_t numberOfMatchedTowers()
const {
return (Int_t)
mMatchedTowers.size();}
83 Bool_t operator>(
const StEEmcSmdCluster &other )
const {
return this->energy() > other.energy(); }
85 Int_t numberOfStrips()
const{
return (Int_t)
mStrips.size(); }
91 Float_t weight(Int_t s)
const{
return mWeights[s]; }
97 Int_t plane()
const {
return mPlane; }
98 Int_t sector()
const {
return mSector; }
99 void sector( Int_t s ) {
mSector=s; }
100 void plane( Int_t p ){
mPlane = p; }
108 void print(Option_t *opts=
"")
const;
109 void printLine(Bool_t endline=
false)
const;
113 Int_t
next(Int_t direct)
const {
if(direct>0)
return mRight;
else if(direct<0)
return mLeft;
else return -999; }
115 void copy( TH1F *h )
const;
166 typedef std::vector<StEEmcSmdCluster> StEEmcSmdClusterVec_t;
Int_t mRight
index of next strip to the right
Int_t next(Int_t direct) const
Float_t mEnergy
Energy of this SMD cluster.
Bool_t operator<(const StEEmcSmdCluster &other) const
One cluster is greater than another if energy is greater than the other.
void stemc(StEmcCluster *c)
Set pointer to StEmcCluster.
Int_t mLeft
index of next strip to the left
Float_t mMean
Mean and sigma computed after each strip is added.
Base class for representing tower, preshower and postshower elements.
std::vector< Float_t > mWeights
Vector of strip weights.
StEEmcStrip & seed()
Returns the seed strip (by convention, the first strip added to the cluster).
Int_t key()
Return a unique key assigned by the cluster maker.
Float_t mSumX2W
Running sums to calculate mean, sigma of cluster.
StEEmcStripVec_t mStrips
Vector of strips belonging to this SMD cluster.
A base class for representing clusters of EEMC smd strips.
StEmcCluster * mEmcCluster
POinter to EMC cluster.
Int_t mSize
Kludge so that root will store number of smd strips.
StEEmcTowerVec_t mMatchedTowers
Vector of hit towers above this SMD cluster.
StEEmcStrip & strip(Int_t s)
Returns the specified smd strip w/in the cluster.
Base class for describing an endcap SMD strip.
Float_t mSumXW
Running sums to calculate mean, sigma of cluster.