00001 #ifndef CLEODB_DBCANDIDATE_H 00002 #define CLEODB_DBCANDIDATE_H 00003 // -*- C++ -*- 00004 // 00005 // Package: CleoDB 00006 // Module: DBCandidatefit 00007 // 00008 // Description: Namespace for Identifier 00009 // 00010 // Usage: 00011 // // The DBCandidate class is effectively a namespace that contains 00012 // // the enumerator to differentiate between fit hypothesis. 00013 // 00014 // Author: Simon Patton 00015 // Created: Fri May 28 08:38:02 EDT 1997 00016 // $Id: DBCandidate.h,v 1.1.1.1 2009/03/03 06:05:56 maqm Exp $ 00017 // 00018 // Revision history 00019 // 00020 // $Log: DBCandidate.h,v $ 00021 // Revision 1.1.1.1 2009/03/03 06:05:56 maqm 00022 // first import of BesDChain 00023 // 00024 // Revision 1.6 1999/10/08 23:06:14 wsun 00025 // Added static functions outwardHypo(), inwardHypo(), and hypoIsInward(). 00026 // 00027 // Revision 1.5 1999/05/07 18:19:39 marsh 00028 // Added remaining outgoing hypotheses. 00029 // 00030 // Revision 1.4 1998/11/06 19:56:54 marsh 00031 // Removed unneeded 'const's. 00032 // 00033 // Revision 1.3 1997/08/22 18:04:09 sjp 00034 // Made mass into a function call 00035 // 00036 // Revision 1.2 1997/07/09 18:01:37 sjp 00037 // New <Package>/<File>.h structure 00038 // Modified so can also compile under cxx v5.5 00039 // 00040 // Revision 1.1 1997/05/28 16:09:16 sjp 00041 // New class used with Track Fit data 00042 // 00043 00044 // system include files 00045 #include <stdint.h> 00046 00047 // user include files 00048 00049 00050 // STL include 00051 00052 // forward declarations 00053 00054 class DBCandidate 00055 { 00056 public: 00057 // constants, enums and typedefs 00058 typedef uint32_t Identifier ; 00059 00060 enum Hypo { 00061 kPhoton , 00062 kElectron , 00063 kMuon , 00064 kChargedPion , 00065 kChargedKaon , 00066 kProton , 00067 kExitElectron , 00068 kExitMuon , 00069 kExitPion , 00070 kExitKaon , 00071 kExitProton , 00072 kMaxHypo 00073 } ; 00074 00075 static double mass( DBCandidate::Hypo aHypo ) ; 00076 00077 // Return the outward Hypo for a given inward Hypo. 00078 static Hypo outwardHypo( DBCandidate::Hypo aHypo ) ; 00079 00080 // Return the inward Hypo for a given outward Hypo. 00081 static Hypo inwardHypo( DBCandidate::Hypo aHypo ) ; 00082 00083 // Functions to check if a given hypothesis is inward. If not, it 00084 // is outward. 00085 static bool hypoIsInward( DBCandidate::Hypo aHypo ) 00086 { return aHypo < kExitElectron ; } 00087 00088 private: 00089 static const double book_mass[ kMaxHypo ] ; 00090 }; 00091 00092 // inline function definitions 00093 00094 #endif /* CLEODB_DBCANDIDATE_H */