00001 00002 // $Id: CandUid.h,v 1.3 2006/06/21 00:47:01 rhatcher Exp $ 00003 // 00004 // CandUid.h 00005 // 00006 // CandUid is the unique ID object for CandBase derived objects. 00007 // 00008 // Author: G. Irwin 3/2000 00010 00011 #ifndef CANDUID_H 00012 #define CANDUID_H 00013 00014 // not inheriting from TObject so we need an explicit Rtypes 00015 #ifndef ROOT_Rtypes 00016 #if !defined(__CINT__) || defined(__MAKECINT__) 00017 #include "Rtypes.h" 00018 #endif 00019 #endif 00020 00021 class CandBase; 00022 00023 class CandUid 00024 { 00025 00026 friend class CandBase; 00027 00028 public: 00029 CandUid(); 00030 CandUid(const CandUid &cu); 00031 CandUid(const CandBase &cb); 00032 CandUid(const CandBase &cb, const CandBase &cba); 00033 virtual ~CandUid(); 00034 CandUid &operator=(const CandUid &cuid); 00035 Bool_t operator==(const CandUid &cuid) const; 00036 Bool_t operator!=(const CandUid &cuid) const; 00037 UInt_t GetArchUidInt() const {return fArchUidInt;} 00038 UInt_t GetUidInt() const {return fUidInt;} 00039 Bool_t IsCloneOf(const CandUid &cuid) const; 00040 00041 private: 00042 UInt_t fArchUidInt; // Unique ID UInt_t of first ancestor 00043 UInt_t fUidInt; // Unique ID UInt_t 00044 void SetUidInt(UInt_t ui) {fUidInt = ui;} 00045 00046 ClassDef(CandUid,0) // Unique ID object for Candidate objects 00047 00048 }; 00049 00050 #endif // CANDUID_H
1.3.9.1