00001 00002 // $Id: CandEventHandle.h,v 1.19 2006/05/24 18:47:10 musser Exp $ 00003 // 00004 // CandEventHandle.h 00005 // 00006 // CandEventHandle is the specialized access handle to CandEvent. 00007 // 00008 // Each concrete CandHandle must define a DupHandle function. 00009 // 00010 // Author: R. Lee 2001.03.07 00012 00013 #ifndef CANDEVENTHANDLE_H 00014 #define CANDEVENTHANDLE_H 00015 00016 #include "Conventions/CalStripType.h" 00017 #include "Conventions/PlaneView.h" 00018 #include "Conventions/StripEnd.h" 00019 #include "Navigation/XxxItr.h" 00020 #include "RecoBase/CandRecoHandle.h" 00021 00022 class CandEvent; 00023 class CandSliceHandle; 00024 class Vertex; 00025 00026 class CandEventHandle : public CandRecoHandle 00027 { 00028 00029 public: 00030 CandEventHandle(); 00031 CandEventHandle(const CandEventHandle &cdh); 00032 CandEventHandle(CandEvent *cd); 00033 virtual ~CandEventHandle(); 00034 virtual CandEventHandle *DupHandle() const; 00035 00036 virtual void Trace(const char *c = "") const; 00037 00038 void SetCandSlice(const CandSliceHandle *slice); 00039 const CandSliceHandle *GetCandSlice() const; 00040 00041 static NavKey KeyFromSlice(const CandEventHandle *); 00042 00043 00044 void AddShower(const CandShowerHandle *); 00045 void AddTrack(const CandTrackHandle *); 00046 00047 void SetPrimaryShower(Double_t MinShwEFract, Double_t MinShwShwDZ); 00048 void SetPrimaryTrack(); 00049 void SetPrimaryShower(const CandShowerHandle * primaryshower); 00050 void SetPrimaryTrack(const CandTrackHandle * primarytrack); 00051 00052 // GetShower(0) returns primary Shower (same for Track) 00053 const CandShowerHandle *GetShower(Int_t) const; 00054 CandShowerHandle *GetShowerWritable(Int_t); 00055 const CandTrackHandle *GetTrack(Int_t) const; 00056 00057 CandShowerHandle *GetPrimaryShower() const; 00058 CandTrackHandle *GetPrimaryTrack() const; 00059 00060 Int_t GetPrimaryShowerIndex() const; 00061 Int_t GetPrimaryTrackIndex() const; 00062 Int_t GetLastShower() const; 00063 Int_t GetLastTrack() const; 00064 00065 void CompressShower(); 00066 void CompressTrack(); 00067 00068 Bool_t IsContained(); 00069 void SetContained(Bool_t contained); 00070 00071 void SetEnergy(Double_t); 00072 Double_t GetEnergy() const; 00073 00074 ClassDef(CandEventHandle,6) // User access handle to CandEvent 00075 }; 00076 00077 XXXITRDEF(CandEventHandle) 00078 00079 #endif // CANDEVENTHANDLE_H
1.3.9.1