00001 00002 // $Id: CandStripHandle.h,v 1.22 2007/11/08 13:50:05 musser Exp $ 00003 // 00004 // CandStripHandle.h 00005 // 00006 // CandStripHandle is the access handle to CandStrip. 00007 // 00008 // 00009 // Author: J. Musser 2004.08.01 00010 // 00012 00013 #ifndef CANDSTRIPHANDLE_H 00014 #define CANDSTRIPHANDLE_H 00015 00016 #include "CandDigit/CandDigitHandle.h" 00017 #include "Candidate/CandHandle.h" 00018 #include "Conventions/CalDigitType.h" 00019 #include "Conventions/PlaneView.h" 00020 #include "Conventions/StripEnd.h" 00021 #include "Navigation/XxxItr.h" 00022 #include "Plex/PlexStripEndId.h" 00023 class CandStrip; 00024 00025 class PlexStripEndId; 00026 00027 class CandStripHandle : public CandHandle 00028 { 00029 00030 friend class CandTrack; 00031 friend class CandTrackHandle; 00032 00033 public: 00034 CandStripHandle(); 00035 CandStripHandle(const CandStripHandle &cdh); 00036 CandStripHandle(CandStrip *cd); 00037 virtual ~CandStripHandle(); 00038 virtual CandStripHandle *DupHandle() const; 00039 00040 virtual void Trace(const char *c = "") const; 00041 00042 virtual Int_t GetPlane() const; 00043 00044 virtual Int_t GetStrip() const; 00045 00046 virtual void SetTPos(Double_t); 00047 virtual Double_t GetTPos() const; 00048 virtual Double_t GetTPos(Double_t orthopos) const; 00049 00050 virtual void SetZPos(Double_t); 00051 virtual Double_t GetZPos() const; 00052 00053 void SetCalTimeType(CalTimeType::CalTimeType_t); 00054 CalTimeType::CalTimeType_t GetCalTimeType() const; 00055 00056 virtual Double_t GetTime(StripEnd::StripEnd_t = StripEnd::kWhole) const; 00057 virtual Double_t GetBegTime(StripEnd::StripEnd_t = StripEnd::kWhole) const; 00058 virtual Double_t GetEndTime(StripEnd::StripEnd_t = StripEnd::kWhole) const; 00059 virtual Double_t GetCorrBegTime() const; 00060 00061 // default is StripEnd::StripEnd_t = StripEnd::kWhole 00062 // CalDigitType::CalDigitType_t = CalDigitType::kPE 00063 virtual Double_t GetCharge() const; 00064 virtual Double_t GetCharge(StripEnd::StripEnd_t) const; 00065 virtual Double_t GetCharge(CalDigitType::CalDigitType_t) const; 00066 virtual Double_t GetCharge(StripEnd::StripEnd_t,CalDigitType::CalDigitType_t) const; 00067 virtual Double_t GetCharge(CalDigitType::CalDigitType_t,StripEnd::StripEnd_t) const; 00068 virtual Int_t GetNDigit(StripEnd::StripEnd_t = StripEnd::kWhole) const; 00069 00070 // return 1 if all digits with StripEnd::StripEnd_t have veto set 00071 virtual UShort_t GetDemuxVetoFlag(StripEnd::StripEnd_t = StripEnd::kWhole) const; 00072 00073 virtual PlexStripEndId GetStripEndId(StripEnd::StripEnd_t = StripEnd::kWhole) const; 00074 00075 virtual PlaneView::PlaneView_t GetPlaneView() const; 00076 00077 virtual void SetBestStripEndId(const PlexStripEndId); 00078 00079 static NavKey KeyFromPlane(const CandStripHandle *); 00080 static NavKey KeyFromPlaneStripTime(const CandStripHandle *); 00081 static NavKey KeyFromView(const CandStripHandle *); 00082 static NavKey StripSRKeyFromPSEId(const CandStripHandle *csh); 00083 static NavKey StripSRKeyFromBegTime(const CandStripHandle *csh); 00084 00085 ClassDef(CandStripHandle,1) // User access handle to CandStrip 00086 00087 }; 00088 00089 XXXITRDEF(CandStripHandle) 00090 00091 #endif // CANDSTRIPHANDLE_H
1.3.9.1