CLHEP/HepPDT/SpinState.hh

00001 // $Id: SpinState.hh,v 1.2 2002/04/12 15:02:43 evc Exp $
00002 // ----------------------------------------------------------------------
00003 //
00004 // SpinState.hh
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   // ---  birth/death:
00023   //
00024   inline SpinState( double ts = 0., double spin = 0., double oam =0. );
00025 
00026   // ---  copying:
00027   //
00028   inline SpinState( const SpinState & orig );
00029   inline SpinState& operator = ( const SpinState & rhs );
00030   inline void swap( SpinState & other );
00031 
00032   // ---  booleans:
00033   //
00034   inline bool  operator == ( const SpinState & rhs ) const;
00035 
00036   // ---  accessors:
00037   //
00038   double totalSpin()     const {  return itsTotalSpin; }
00039   double spin()          const {  return itsSpin; }
00040   double orbAngMom()     const {  return itsOrbAngMom; }
00041 
00042   // ---  mutators:
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   // ---  class-specific data:
00051   //
00052   double  itsTotalSpin;
00053   double  itsSpin;
00054   double  itsOrbAngMom;
00055 
00056 };  // SpinState
00057 
00058 inline
00059 void swap( SpinState & first,SpinState & second )  { first.swap( second ); }
00060 
00061 }       // HepPDT
00062 
00063 #include "CLHEP/HepPDT/SpinState.icc"
00064 
00065 #endif // SPINSTATE_HH

Class Library for High Energy Physics (version 1.8)