StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEEmcHitMaker.h
1 
11 #ifndef _ST_EEMC_HIT_MAKER_H_
12 #define _ST_EEMC_HIT_MAKER_H_
13 
14 // StRoot inclusions
15 #include "StRoot/StEEmcUtil/EEmcGeom/EEmcGeomDefs.h"
16 #include "StMaker.h"
17 
18 // containers
19 class EEmcEnergy_t;
20 
21 // closely related inclusions
22 #include "StEEmcHit.h"
23 #include "StSimpleCluster.h"
24 #include "StESMDClustersPerSector.h"
25 #include "StEEmcHitMakerData.h"
26 
28  public:
30  StEEmcHitMaker_t( const Char_t *myName, const Char_t *inputMkrName ); // inputMaker is for the EEmcEnergy_t pointer
31 
33  virtual ~StEEmcHitMaker_t();
34 
36  Int_t Init();
37 
39  Int_t Make();
40 
42  void Clear(Option_t *opts="");
43 
45 
49  void doClusterTowers( Bool_t flag = 1 ){ mDoClusterTower[ TOWER ] = flag; };
50  void doClusterPreShower1( Bool_t flag = 1 ){ mDoClusterTower[ PRESHOWER1 ] = flag; };
51  void doClusterPreShower2( Bool_t flag = 1 ){ mDoClusterTower[ PRESHOWER2 ] = flag; };
52  void doClusterPostShower( Bool_t flag = 1 ){ mDoClusterTower[ POSTSHOWER ] = flag; };
53 
55  void doClusterSMDStrips( Bool_t flag = 1 ){ mDoClusterSMDStrips = flag; };
56 
58  Bool_t getIfClusteredTower( TowerLayer_t layer ) const;
59  Bool_t getIfClusteredSMD() const { return mDoClusterSMDStrips; };
60 
61  Int_t getNumTowerClusters(){ return mTowerClusterVec[ TOWER ].size(); };
62  Int_t getNumSMDClusters();
63 
64  // To access data storage
65  static UInt_t convertToIndex( Int_t sec, Int_t sub, Int_t eta ){ return kEEmcNumEtas*( sec*kEEmcNumSubSectors + sub ) + eta; };
66  static UInt_t convertToPhiBin( Int_t sec, Int_t sub ){ return sec*kEEmcNumSubSectors + sub; };
67 
68  protected:
69  // regarding finding the response input
70  Bool_t mInputIsTree;
71  std::string mInputMakerName;
72  EEmcEnergy_t *mEEmcEnergy;
73 
75  Bool_t mDoClusterTower[ NUM_TOW_LAYERS ];
76  Bool_t mDoClusterSMDStrips;
77  Bool_t mConstructedOK;
78 
79  // Number of phi bins
80  static const Int_t kEEmcNumPhiBins;
81 
82  private:
83  ClassDef( StEEmcHitMaker_t, 1 );
84 };
85 
86 #endif
87 
88 /*
89  * $Id: StEEmcHitMaker.h,v 1.1 2012/11/26 19:05:54 sgliske Exp $
90  * $Log: StEEmcHitMaker.h,v $
91  * Revision 1.1 2012/11/26 19:05:54 sgliske
92  * moved from offline/users/sgliske/StRoot/StEEmcPool/StEEmcHitMaker to StRoot/StEEmcPool/StEEmcHitMaker
93  *
94  *
95  */
Int_t Make()
Make (loads data, for children classes to use)
void doClusterSMDStrips(Bool_t flag=1)
Set whether to cluster SMD strips.
StEEmcHitMaker_t(const Char_t *myName, const Char_t *inputMkrName)
Construtor.
void doClusterTowers(Bool_t flag=1)
modifiers
StSimpleClusterVec_t mTowerClusterVec[NUM_TOW_LAYERS]
Containers for cluster from each tower layer.
virtual ~StEEmcHitMaker_t()
Deconstructor.
Int_t Init()
Initialize.
void Clear(Option_t *opts="")
Clear for next event.
static const Int_t kEEmcNumPhiBins
Include the header.
Bool_t mDoClusterTower[NUM_TOW_LAYERS]
boolean flags
Bool_t getIfClusteredTower(TowerLayer_t layer) const
accessors