00001
00002
00003
00004
00005
00006
00007
00009 #ifndef CLUSTERCAMATNU_H
00010 #define CLUSTERCAMATNU_H
00011
00012 #include <vector>
00013 using std::vector;
00014
00015 class HitCamAtNu;
00016
00017 class ClusterCamAtNu
00018 {
00019 public:
00020 ClusterCamAtNu(HitCamAtNu* hit);
00021 virtual ~ClusterCamAtNu();
00022
00023 void AddHit(HitCamAtNu* hit);
00024 bool ContainsHit(HitCamAtNu* hit);
00025
00026 int IsHitAssoc(HitCamAtNu* hit) const;
00027 int IsShwAssoc(ClusterCamAtNu* clust) const;
00028 int IsTrkAssoc(ClusterCamAtNu* clustm, ClusterCamAtNu* clustp, int PlaneGap=0) const;
00029 int IsDiffuseShwAssoc(ClusterCamAtNu* clr) const;
00030
00031 unsigned int GetEntries() const {return HitsInCluster.size();}
00032 HitCamAtNu* GetHit(unsigned int i) const;
00033 int GetDigits() const { return fDigits; }
00034
00035 int GetPlane() const {return fPlane;}
00036 int GetBegStrip() const {return fBegStrip;}
00037 int GetEndStrip() const {return fEndStrip;}
00038 int GetPlaneView() const {return fPlaneView;}
00039
00040 double GetZPos() {return fZPos;}
00041 double GetTPos() {return fTPos;}
00042 double GetCharge() {return fCharge;}
00043 double GetBegTime() const {return fBegTime;}
00044 double GetEndTime() const {return fEndTime;}
00045 double GetBegTPos() const {return fBegTPos;}
00046 double GetEndTPos() const {return fEndTPos;}
00047
00048 int GetTrkFlag() const {return fTrkFlag;}
00049 int GetShwFlag() const {return fShwFlag;}
00050 int GetTrkPlnFlag() const {return fTrkPlnFlag;}
00051 int GetShwPlnFlag() const {return fShwPlnFlag;}
00052
00053 void SetTrkFlag(int flag) {fTrkFlag=flag;}
00054 void SetShwFlag(int flag) {fShwFlag=flag;}
00055 void SetTrkPlnFlag(int flag) {fTrkPlnFlag=flag;}
00056 void SetShwPlnFlag(int flag) {fShwPlnFlag=flag;}
00057
00058 void SetNDFlag(int flag) {fNDFlag=flag;}
00059 int GetNDFlag() const {return fNDFlag;}
00060
00061 int fPlane;
00062 int fBegStrip;
00063 int fEndStrip;
00064 double fBegTime;
00065 double fEndTime;
00066 double fBegTPos;
00067 double fEndTPos;
00068 double fZPos;
00069 double fTPos;
00070 double fCharge;
00071 int fTrkFlag;
00072 int fShwFlag;
00073 int fTrkPlnFlag;
00074 int fShwPlnFlag;
00075 int fPlaneView;
00076 int fDigits;
00077 int fNDFlag;
00078
00079 private:
00080 vector<HitCamAtNu*> HitsInCluster;
00081
00082 const double StripWidth;
00083
00084
00085 };
00086
00087 #endif