1 #ifndef __StEEmcA2EMaker_h__
2 #define __StEEmcA2EMaker_h__
8 #include "StEEmcUtil/EEmcGeom/EEmcGeomDefs.h"
9 #include "StEEmcUtil/EEmcGeom/EEmcGeomSimple.h"
11 #include "StEEmcTower.h"
12 #include "StEEmcStrip.h"
29 virtual void Clear(Option_t *opts=
"");
43 void source(
const Char_t * , Int_t = 0) { }
50 const StEEmcTowerVec_t &
towers(Int_t layer=0)
const {
return mHitTowers[layer]; }
54 const StEEmcStripVec_t &
strips(Int_t sec, Int_t pln )
const {
return mHitStrips[sec][pln]; }
78 const StEEmcTower &
tower(Int_t sector, Int_t subsector, Int_t etabin, Int_t layer=0)
const {
return tower(
index(sector,subsector,etabin),layer);}
87 Int_t
phibin( Int_t sector, Int_t subsector)
const {
return sector * 5 + subsector; }
89 Int_t
index( Int_t sector, Int_t subsector, Int_t etabin)
const {
return 12 *
phibin(sector, subsector) + etabin; }
120 Float_t
energy(Int_t sector, Int_t layer)
const {
return mEnergy[sector][layer]; }
122 Float_t
energy(Int_t layer)
const;
134 virtual const char* GetCVS()
const
135 {
static const char cvs[]=
"Tag $Name: $ $Id: StEEmcA2EMaker.h,v 1.8 2014/08/06 11:42:59 jeromel Exp $ built " __DATE__
" " __TIME__;
return cvs;}
163 Float_t
addTowerHit(Int_t sec, Int_t sub, Int_t eta, Float_t adc, Int_t layer);
169 Float_t
addSmdHit(Int_t sec, Int_t plane, Int_t str, Float_t adc );
188 std::vector< std::vector< StEEmcStripVec_t > >
mHitStrips;
StEEmcA2EMaker(const Char_t *name="mEEanalysis")
StEEmcTower & tower(Int_t sector, Int_t subsector, Int_t etabin, Int_t layer=0)
Float_t mEnergy[kEEmcNumSectors][6]
EEmc ADC –> energy maker.
Bool_t fillFromMuDst(const StMuEmcCollection *emc)
StEEmcTower & hittower(Int_t hit, Int_t layer)
Float_t addTowerHit(Int_t sec, Int_t sub, Int_t eta, Float_t adc, Int_t layer)
StEEmcTower * mHighTower[4]
std::vector< StEEmcTowerVec_t > mHitTowers
Float_t addSmdHit(Int_t sec, Int_t plane, Int_t str, Float_t adc)
Int_t mHits[kEEmcNumSectors][6]
Number of hits in layer.
void source(const Char_t *, Int_t=0)
StEEmcTowerVec_t & towers(Int_t layer=0)
StEEmcStrip mStrips[kEEmcNumSectors][kEEmcNumSmdUVs][kEEmcNumStrips]
Array of 12x2x288 smd strip objects.
StEEmcStrip & strip(Int_t sector, Int_t plane, Int_t strip)
const EEmcGeomSimple * mEEgeom
StEEmcStrip & hitstrip(Int_t sec, Int_t pl, Int_t hit)
Int_t numberOfHitStrips(Int_t sector, Int_t plane) const
Int_t index(Int_t sector, Int_t subsector, Int_t etabin) const
Given tower sector, subsector, etabin, translate into index.
Bool_t fillFromSt(const StEmcCollection *emc)
If StEvent is used, we will fill additional parts of StEEmcElement.
Int_t numberOfHitTowers(Int_t layer) const
Int_t phibin(Int_t sector, Int_t subsector) const
Given tower sector, subsector, translate to phibin.
void threshold(Float_t cut, Int_t layer)
const StEEmcDb * mDbMaker
std::vector< std::vector< StEEmcStripVec_t > > mHitStrips
Float_t energy(Int_t sector, Int_t layer) const
StEEmcStripVec_t & strips(Int_t sec, Int_t pln)
Returns a vector of hit strips, given the sector and plane.
Base class for representing tower, preshower and postshower elements.
StEEmcTower & hightower(Int_t layer=0)
virtual Int_t Init()
Initialize.
ClassDef(StEEmcA2EMaker, 1)
Makes class available to root.
virtual void Clear(Option_t *opts="")
Clear the maker for next event.
StEEmcTower & tower(Int_t index, Int_t layer=0)
StEEmcTower mTowers[kEEmcNumSectors *kEEmcNumSubSectors *kEEmcNumEtas][4]
Array of 720 x 4 tower objects.
void database(const Char_t *)
Set the name of the EEMC database, init obtains pointer.
virtual Int_t Make()
Read and process one event.
Base class for describing an endcap SMD strip.
Int_t numberOfHits(Int_t sector, Int_t layer) const