HepPDT Reference Documentation

HepPDT

ResonanceStructure.hh

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------
00002 //
00003 // ResonanceStructure.hh
00004 // Author:  Lynn Garren
00005 //
00006 // ResonanceStructure contains the minimum information for a Breit-Wigner
00007 // distribution about a given mass.
00008 // ----------------------------------------------------------------------
00009 #ifndef RESONANCESTRUCTURE_HH
00010 #define RESONANCESTRUCTURE_HH
00011 
00012 #include <algorithm>    // swap()
00013 
00014 #include "HepPDT/Measurement.hh"
00015 
00016 namespace HepPDT {
00017 
00019 
00027 class ResonanceStructure  {
00028 
00029 public:
00030 
00031   // ---  birth/death:
00032   //
00034   ResonanceStructure( Measurement mass = Measurement(),
00035                       Measurement width = Measurement(),
00036                       double min = 0., double max = 0. );
00037   virtual ~ResonanceStructure();
00038 
00039   // ---  copying:
00040   //
00041   ResonanceStructure( const ResonanceStructure & orig );
00042   ResonanceStructure& operator= ( const ResonanceStructure & rhs );
00043   void swap ( ResonanceStructure & other );
00044 
00045   // ---  accessors:
00046   //
00048   Measurement   const & mass()         const { return itsMass; }
00050   Measurement   const & totalWidth()   const { return itsTotalWidth; }
00052   Measurement   lifetime()             const;
00054   double        lowerCutoff()          const { return itsLowerCutoff; }
00056   double        upperCutoff()          const { return itsUpperCutoff; }
00057 
00058   // ---  mutators:
00059   //
00061   void  setMass( Measurement const & mass )        {  itsMass = mass; }
00063   void  setTotalWidth( Measurement const & width ) {  itsTotalWidth = width; }
00065   void  setTotalWidthFromLifetime( Measurement const & lt );
00067   void  setLowerCutoff( double cut )               {  itsLowerCutoff = cut; }
00069   void  setUpperCutoff( double cut )               {  itsUpperCutoff = cut; }
00070 
00071 private:
00072 
00073   // ---  class-specific data:
00074   //
00075   Measurement   itsMass;
00076   Measurement   itsTotalWidth;
00077   double        itsLowerCutoff;
00078   double        itsUpperCutoff;
00079 
00080 };  // ResonanceStructure
00081 
00082 inline
00083 void swap( ResonanceStructure & first, ResonanceStructure & second )  {
00084   first.swap( second );
00085 }
00086 
00087 }       // HepPDT
00088 
00089 #endif // RESONANCESTRUCTURE_HH

Generated on Fri Dec 4 14:05:23 2009 for HepPDT by  doxygen 1.4.7