00001
00002
00003
00004
00005
00006
00007 #ifndef SPINSTATE_HH
00008 #define SPINSTATE_HH
00009
00010 #include "CLHEP/config/CLHEP.h"
00011
00012 namespace HepPDT {
00013
00018 class SpinState {
00019
00020 public:
00021
00022
00023
00024 inline SpinState( double ts = 0., double spin = 0., double oam =0. );
00025
00026
00027
00028 inline SpinState( const SpinState & orig );
00029 inline SpinState& operator = ( const SpinState & rhs );
00030 inline void swap( SpinState & other );
00031
00032
00033
00034 inline bool operator == ( const SpinState & rhs ) const;
00035
00036
00037
00038 double totalSpin() const { return itsTotalSpin; }
00039 double spin() const { return itsSpin; }
00040 double orbAngMom() const { return itsOrbAngMom; }
00041
00042
00043
00044 void setTotalSpin( double spin ) { itsTotalSpin = spin; }
00045 void setSpin( double spin ) { itsSpin = spin; }
00046 void setOrbAngMom( double ang ) { itsOrbAngMom = ang; }
00047
00048 private:
00049
00050
00051
00052 double itsTotalSpin;
00053 double itsSpin;
00054 double itsOrbAngMom;
00055
00056 };
00057
00058 inline
00059 void swap( SpinState & first,SpinState & second ) { first.swap( second ); }
00060
00061 }
00062
00063 #include "CLHEP/HepPDT/SpinState.icc"
00064
00065 #endif // SPINSTATE_HH