StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFmsTower.h
Go to the documentation of this file.
1 // $Id: StFmsTower.h,v 1.2 2015/10/21 15:58:05 akio Exp $
2 //
3 // $Log: StFmsTower.h,v $
4 // Revision 1.2 2015/10/21 15:58:05 akio
5 // Code speed up (~x2) by optimizing minimization fuctions and showershape function
6 // Add option to merge small cells to large, so that it finds cluster at border
7 // Add option to perform 1photon fit when 2photon fit faield
8 // Add option to turn on/off global refit
9 // Moment analysis done without ECUTOFF when no tower in cluster exceed ECUTOFF=0.5GeV
10 //
11 // Revision 1.1 2015/03/10 14:38:54 jeromel
12 // First version of FmsUtil from Yuxi Pan - reviewd 2015/02
13 //
23 #ifndef STROOT_STFMSPOINTMAKER_STFMSTOWER_H_
24 #define STROOT_STFMSPOINTMAKER_STFMSTOWER_H_
25 
26 #include "TObject.h"
27 
28 class StFmsHit;
29 class StFmsDbMaker;
30 
31 namespace FMSCluster { // $NMSPC
48 class StFmsTower : public TObject {
49  public:
51  StFmsTower();
58  explicit StFmsTower(StFmsHit* fmsHit);
59  // Use default copy constructor and assignment operator
61  ~StFmsTower();
68  Bool_t initialize(StFmsDbMaker* database);
70  Bool_t IsSortable() const { return kTRUE; }
84  Bool_t isNeighbor(const StFmsTower& tower) const;
90  const StFmsHit* hit() const { return mHit; }
92  Int_t column() const { return mColumn; }
94  Int_t row() const { return mRow; }
96  Int_t cluster() const { return mCluster; }
98  void setCluster(Int_t cluster) { mCluster = cluster; }
100  void setXY(double x, double y) {mX=x; mY=y;}
101  double x() const;
102  double y() const;
103  double e() const;
104  double w() const;
105 
106 
107  protected:
108  const StFmsHit* mHit;
109  Int_t mColumn;
110  Int_t mRow;
111  Int_t mCluster;
112  Double_t mX;
113  Double_t mY;
114  Double_t mE;
115  Double_t mW;
116  ClassDef(StFmsTower, 0)
117 };
118 
119 inline double StFmsTower::x() const {return mX;}
120 inline double StFmsTower::y() const {return mY;}
121 inline double StFmsTower::e() const {return mE;}
122 inline double StFmsTower::w() const {return mW;}
123 
124 } // namespace FMSCluster
125 #endif // STROOT_STFMSPOINTMAKER_STFMSTOWER_H_
Double_t mX
< Index of cluster the tower is associated with
Definition: StFmsTower.h:112
Bool_t isNeighbor(const StFmsTower &tower) const
Definition: StFmsTower.cxx:53
Double_t mE
local y [cm]
Definition: StFmsTower.h:114
const StFmsHit * mHit
Hit information, not owned by StFmsTower.
Definition: StFmsTower.h:108
const StFmsHit * hit() const
Definition: StFmsTower.h:90
Bool_t initialize(StFmsDbMaker *database)
Definition: StFmsTower.cxx:40
Int_t column() const
Definition: StFmsTower.h:92
void setXY(double x, double y)
Definition: StFmsTower.h:100
Double_t mW
Energy.
Definition: StFmsTower.h:115
Int_t row() const
Definition: StFmsTower.h:94
void setCluster(Int_t cluster)
Definition: StFmsTower.h:98
Double_t mY
local x [cm]
Definition: StFmsTower.h:113
Int_t mRow
< Column number, starts at 1, horizontal (STAR x-coord)
Definition: StFmsTower.h:110
Int_t mCluster
< Row number, starts at 1, vertical (STAR y-coord)
Definition: StFmsTower.h:111
Int_t cluster() const
Definition: StFmsTower.h:96
Bool_t IsSortable() const
Definition: StFmsTower.h:70