00001 #ifndef DCHAIN_CONJUGATION_H 00002 #define DCHAIN_CONJUGATION_H 00003 // -*- C++ -*- 00004 // 00005 // Package: DChain 00006 // Module: Conjugation 00007 // 00008 // Description: enumerator for conjugation 00009 // 00010 // Usage: 00011 // Used by the list hierarchy to determine the conjugation of a 00012 // Candidate with respect to the list it is in. 00013 // This has been designed as a name-space rather than a class 00014 // 00015 // Author: Simon Patton 00016 // Created: Fri Sep 13 18:06:37 EDT 1996 00017 // $Id: conjugation.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $ 00018 // 00019 // Revision history 00020 // 00021 // $Log: conjugation.h,v $ 00022 // Revision 1.1.1.1 2009/03/03 06:06:56 maqm 00023 // first import of DecayChain 00024 // 00025 // Revision 1.1 2006/01/11 20:28:10 cdj 00026 // massive class renaming, addition of [] for selection and unit tests 00027 // 00028 // 00029 00030 // system include files 00031 00032 // user include files 00033 00034 // forward declarations 00035 namespace dchain { 00036 namespace conjugation 00037 { 00038 // constants, enums and typedefs 00039 enum Label { kNone = 0 , 00040 kHeads = 1 , 00041 kTails = -1 00042 } ; 00043 } 00044 00045 inline 00046 conjugation::Label otherLabel( const conjugation::Label& aLabel ) ; 00047 00048 // inline function definitions 00049 00050 inline 00051 conjugation::Label otherLabel( const conjugation::Label& aLabel ) 00052 { 00053 return ( conjugation::Label( conjugation::kNone - aLabel ) ) ; 00054 } 00055 } 00056 #endif /* DCHAIN_CONJUGATION_H */