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