StFms  0.0.0
FMS software in the STAR framework
StFmsPointMaker.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // $Log$
12 #ifndef STROOT_STFMSPOINTMAKER_STFMSPOINTMAKER_H_
13 #define STROOT_STFMSPOINTMAKER_STFMSPOINTMAKER_H_
14 
15 #include <map>
16 #include <vector>
17 
18 #include "StRoot/StChain/StMaker.h"
20 
21 class StFmsCollection;
22 class StFmsDbMaker;
23 class StFmsPoint;
24 
25 namespace FMSCluster {
26 class StFmsFittedPhoton;
27 class StFmsTower;
28 class StFmsTowerCluster;
29 } // namespace FMSCluster
30 
43 class StFmsPointMaker : public StMaker {
44  public:
46  explicit StFmsPointMaker(const char* name = "StFmsPointMaker");
50  Int_t InitRun(Int_t runNumber);
52  Int_t Make();
54  void Clear(Option_t* option = "");
55 
56  private:
58  typedef std::vector<FMSCluster::StFmsTower> TowerList;
60  typedef std::map<int, TowerList> TowerMap;
78  int clusterEvent();
88  int clusterDetector(TowerList* towers, int detectorId,
89  StFmsCollection* fmsCollection);
96  bool validateTowerEnergySum(const TowerList& towers) const;
109  int detectorId, StFmsCollection* fmsCollection);
112  int detectorId);
114  bool populateTowerLists();
122  bool isValidChannel(int detector, int row, int col);
127  ClassDef(StFmsPointMaker, 0)
128 };
129 #endif // STROOT_STFMSPOINTMAKER_STFMSPOINTMAKER_H_
bool isValidChannel(int detector, int row, int col)
bool validateTowerEnergySum(const TowerList &towers) const
bool processTowerCluster(FMSCluster::StFmsTowerCluster *towerCluster, int detectorId, StFmsCollection *fmsCollection)
std::map< int, TowerList > TowerMap
StFmsPoint * makeFmsPoint(const FMSCluster::StFmsFittedPhoton &photon, int detectorId)
Int_t InitRun(Int_t runNumber)
void Clear(Option_t *option="")
Declaration of StFmsGeometry, an FMS database geometry interface.
StFmsPointMaker & operator=(const StFmsPointMaker &)
int mObjectCount
Object count in event for use with TRef.
TowerMap mTowers
One for each sub-detector, keyed by detector ID.
StFmsDbMaker * mFmsDbMaker
Access to FMS database information.
std::vector< FMSCluster::StFmsTower > TowerList
int clusterDetector(TowerList *towers, int detectorId, StFmsCollection *fmsCollection)
StFmsPointMaker(const char *name="StFmsPointMaker")
StFmsCollection * getFmsCollection()
FMSCluster::StFmsGeometry mGeometry
Access to current FMS geometry.