00001 00002 // $Id: CandReco.h,v 1.18 2004/07/28 15:07:46 musser Exp $ 00003 // 00004 // CandReco 00005 // 00006 // CandReco is an abstract base class. This class should and cannot 00007 // be instantiated. 00008 // 00009 // Author: R. Lee 2001.02.21 00011 00012 #ifndef CANDRECO_H 00013 #define CANDRECO_H 00014 00015 #include "Candidate/CandBase.h" 00016 #include "RecoBase/Vertex.h" 00017 00018 #include <map> 00019 00020 using namespace std; 00021 00022 class AlgHandle; 00023 class CandContext; 00024 class CandSliceHandle; 00025 class CandStripHandle; 00026 00027 class CandReco : public CandBase 00028 { 00029 friend class CandRecoHandle; 00030 00031 public: 00032 CandReco(); 00033 00034 virtual std::ostream& FormatToOStream(std::ostream& os, 00035 Option_t *option="") const; 00036 00037 protected: 00038 CandReco(AlgHandle &ah); 00039 CandReco(const CandReco &rhs); 00040 virtual ~CandReco(); 00041 virtual void CreateLocalHandle() = 0; 00042 virtual CandReco *Dup() const = 0; 00043 virtual Bool_t IsEquivalent(const TObject *rhs) const; 00044 00045 CandSliceHandle *fCandSlice; // Owned starting with CandReco version 3 00046 00047 Vertex fVertex; 00048 Double_t fVtxDirCosU; 00049 Double_t fVtxDirCosV; 00050 Double_t fVtxDirCosZ; 00051 00052 Vertex fTerm; 00053 Double_t fEndDirCosU; 00054 Double_t fEndDirCosV; 00055 Double_t fEndDirCosZ; 00056 00057 Double_t fTimeSlope; 00058 Double_t fTimeOffset; 00059 00060 // PlexStripEndId::GetEncoded() is the key 00061 mutable map<Int_t, Double_t> fSigMapped; 00062 mutable map<Int_t, Double_t> fMIP; 00063 00064 ClassDef(CandReco,4) 00065 }; 00066 00067 #endif // CANDRECO_H
1.3.9.1