Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CandRecoHandle.h

Go to the documentation of this file.
00001 
00002 // $Id: CandRecoHandle.h,v 1.26 2006/03/08 13:39:26 musser Exp $
00003 //
00004 // CandRecoHandle.h
00005 //
00006 // CandRecoHandle is the specialized access handle to CandReco.
00007 //
00008 // Each concrete CandHandle must define a DupHandle function.
00009 //
00010 // Author:  R. Lee 2001.02.21
00011 //
00013 
00014 #ifndef CANDRECOHANDLE_H
00015 #define CANDRECOHANDLE_H
00016 
00017 #include "Candidate/CandHandle.h"
00018 #include "Conventions/CalStripType.h"
00019 #include "Conventions/CalTimeType.h"
00020 #include "Conventions/PlaneView.h"
00021 #include "Conventions/StripEnd.h"
00022 #include "Navigation/XxxItr.h"
00023 class CandReco;
00024 
00025 class CandSliceHandle;
00026 class CandStripHandle;
00027 class CandShowerHandle;
00028 class CandTrackHandle;
00029 class Vertex;
00030 
00031 class CandRecoHandle : public CandHandle
00032 {
00033 
00034 public:
00035   CandRecoHandle();
00036   CandRecoHandle(const CandRecoHandle &cdh);
00037   CandRecoHandle(CandReco *cd);
00038   virtual ~CandRecoHandle();
00039   virtual CandRecoHandle *DupHandle() const;
00040 
00041   virtual void Trace(const char *c = "") const;
00042 
00043   void SetCandSlice(const CandSliceHandle *slice);
00044   const CandSliceHandle *GetCandSlice() const;
00045   CandSliceHandle *GetCandSliceWritable() ;
00046 
00047   Int_t GetNStrip(PlaneView::PlaneView_t = PlaneView::kUnknown) const;
00048 
00049   // intersection between two candreco objects
00050   Int_t GetNStrip(const CandRecoHandle *, 
00051                   PlaneView::PlaneView_t = PlaneView::kUnknown) const;
00052 
00053 
00054   Int_t GetNDigit(StripEnd::StripEnd_t = StripEnd::kWhole) const;
00055   
00056   Int_t GetNPlane(PlaneView::PlaneView_t = PlaneView::kUnknown) const;
00057   
00058   virtual Int_t GetBegPlane(PlaneView::PlaneView_t = PlaneView::kUnknown) const;
00059   virtual Int_t GetEndPlane(PlaneView::PlaneView_t = PlaneView::kUnknown) const;   
00060   void SetVtxU(Double_t);
00061   Double_t GetVtxU() const;
00062   
00063   void SetVtxV(Double_t);
00064   Double_t GetVtxV() const;
00065 
00066  void SetVtxZ(Double_t);
00067   Double_t GetVtxZ() const;
00068 
00069   void SetVtxT(Double_t);
00070   Double_t GetVtxT() const;
00071 
00072   void SetVtxPlane(Int_t);
00073   Int_t GetVtxPlane() const;
00074 
00075   void SetEndU(Double_t);
00076   Double_t GetEndU() const;
00077   
00078   void SetEndV(Double_t);
00079   Double_t GetEndV() const;
00080 
00081   void SetEndZ(Double_t);
00082   Double_t GetEndZ() const;
00083 
00084   void SetEndT(Double_t);
00085   Double_t GetEndT() const;
00086 
00087   void SetEndPlane(Int_t);
00088   Int_t GetTermPlane() const;
00089 
00090   void SetVtxDirCosU(Double_t);
00091   Double_t GetVtxDirCosU() const;
00092 
00093   void SetVtxDirCosV(Double_t);
00094   Double_t GetVtxDirCosV() const;
00095 
00096   void SetVtxDirCosZ(Double_t);
00097   Double_t GetVtxDirCosZ() const;
00098 
00099   void SetEndDirCosU(Double_t);
00100   Double_t GetEndDirCosU() const;
00101 
00102   void SetEndDirCosV(Double_t);
00103   Double_t GetEndDirCosV() const;
00104 
00105   void SetEndDirCosZ(Double_t);
00106   Double_t GetEndDirCosZ() const;
00107 
00108   void SetDirCosU(Double_t);
00109   Double_t GetDirCosU() const;
00110 
00111   void SetDirCosV(Double_t);
00112   Double_t GetDirCosV() const;
00113 
00114   void SetDirCosZ(Double_t);
00115   Double_t GetDirCosZ() const;
00116  
00117   void SetTimeSlope(Double_t);
00118   Double_t GetTimeSlope() const;
00119 
00120   void SetTimeOffset(Double_t);
00121   Double_t GetTimeOffset() const;
00122 
00123   CalTimeType::CalTimeType_t GetCalTimeType() const;
00124 
00125   void CalibrateSigMapped(UInt_t fEncoded,Float_t);
00126   void CalibrateMIP(UInt_t fEncoded,Float_t);
00127 
00128   Double_t GetCharge(CalStripType::CalStripType_t = CalStripType::kMIP) const;
00129   Double_t GetPlaneCharge(Int_t iplane, CalStripType::CalStripType_t = CalStripType::kMIP) const;
00130   Double_t GetStripCharge(const CandStripHandle *) const;
00131   Double_t GetStripCharge(const CandStripHandle *, CalStripType::CalStripType_t, StripEnd::StripEnd_t = StripEnd::kWhole) const;
00132   Double_t GetStripCharge(const CandStripHandle *, StripEnd::StripEnd_t, CalStripType::CalStripType_t = CalStripType::kMIP) const;
00133 
00134   static NavKey KeyFromSlice(const CandRecoHandle *);
00135 
00136 ClassDef(CandRecoHandle,1)           // User access handle to CandReco
00137 
00138 };
00139 
00140 XXXITRDEF(CandRecoHandle)
00141 
00142 #endif                                              // CANDRECOHANDLE_H

Generated on Mon Feb 15 11:06:28 2010 for loon by  doxygen 1.3.9.1