![]() |
HepPDT Reference DocumentationHepPDT |
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