28 #include "StEvent/StFmsHit.h"
29 #include "StFmsDbMaker/StFmsDbMaker.h"
31 namespace FMSCluster {
33 : mHit(nullptr), mColumn(-1), mRow(-1), mCluster(-1), mX(0.0), mY(0.0), mE(0.0), mW(0.0) {}
36 : mHit(fmsHit), mColumn(-1), mRow(-1), mCluster(-1), mX(0.0), mY(0.0), mE(0.0), mW(0.0) {}
41 if (!
mHit || !database) {
45 int det=
mHit->detectorId();
50 return mRow > -1 && mColumn > -1;
54 int det0=
mHit->detectorId();
55 int det1=other.
hit()->detectorId();
58 return abs(mColumn - other.
column()) + abs(
mRow - other.
row()) == 1;
62 int rowL,colL,rowS,colS;
65 colL=mColumn; colS=other.
column();
68 colS=mColumn; colL=other.
column();
70 if(rowS>1 && rowS<24 && colS<12){
72 }
else if(rowL<9 || rowL>26 || colL>9){
74 }
else if((rowS==1 && rowL==9) || (rowS==24 && rowL==26) ){
75 if((colL-1)/2 == (colS-1)/3){
76 if ((colL-1)%2==0 && (colS-1)%3==2) {ret=
false;}
77 else if((colL-1)%2==1 && (colS-1)%3==0) {ret=
false;}
82 }
else if(colL==9 && colS==12){
83 if((rowL-10)/2 == (rowS-1)/3){
84 if ((rowL-10)%2==0 && (rowS-1)%3==2) {ret=
false;}
85 else if((rowL-10)%2==1 && (rowS-1)%3==0) {ret=
false;}
Bool_t isNeighbor(const StFmsTower &tower) const
Float_t getXWidth(Int_t detectorId)
get the offset of the detector
const StFmsHit * mHit
Hit information, not owned by StFmsTower.
const StFmsHit * hit() const
Bool_t initialize(StFmsDbMaker *database)
Declaration of StFmsTower, a simple FMS tower wrapper.
Int_t getRowNumber(Int_t detectorId, Int_t ch)
maximum number of channels
Int_t getColumnNumber(Int_t detectorId, Int_t ch)
get the row number for the channel
Float_t getYWidth(Int_t detectorId)
get the X width of the cell
Int_t mRow
< Column number, starts at 1, horizontal (STAR x-coord)