![]() |
HepPDT Reference DocumentationHepPDT |
00001 // ---------------------------------------------------------------------- 00002 // 00003 // SpinState.hh 00004 // Author: Lynn Garren 00005 // 00006 // ---------------------------------------------------------------------- 00007 #ifndef SPINSTATE_HH 00008 #define SPINSTATE_HH 00009 00010 namespace HepPDT { 00011 00013 00020 class SpinState { 00021 00022 public: 00023 00024 // --- birth/death: 00025 // 00027 inline SpinState( double ts = 0., double spin = 0., double oam =0. ); 00028 00029 // --- copying: 00030 // 00031 inline SpinState( const SpinState & orig ); 00032 inline SpinState& operator = ( const SpinState & rhs ); 00033 inline void swap( SpinState & other ); 00034 00035 // --- booleans: 00036 // 00038 inline bool operator == ( const SpinState & rhs ) const; 00039 00040 // --- accessors: 00041 // 00043 double totalSpin() const { return itsTotalSpin; } 00045 double spin() const { return itsSpin; } 00047 double orbAngMom() const { return itsOrbAngMom; } 00048 00049 // --- mutators: 00050 // 00052 void setTotalSpin( double spin ) { itsTotalSpin = spin; } 00054 void setSpin( double spin ) { itsSpin = spin; } 00056 void setOrbAngMom( double ang ) { itsOrbAngMom = ang; } 00057 00058 private: 00059 00060 // --- class-specific data: 00061 // 00062 double itsTotalSpin; 00063 double itsSpin; 00064 double itsOrbAngMom; 00065 00066 }; // SpinState 00067 00068 inline 00069 void swap( SpinState & first,SpinState & second ) { first.swap( second ); } 00070 00071 } // HepPDT 00072 00073 #include "HepPDT/SpinState.icc" 00074 00075 #endif // SPINSTATE_HH