31 using namespace genie;
 
   32 using namespace genie::constants;
 
   38   case kP33_1232  : 
return "P33(1232)" ; 
break;
 
   39   case kS11_1535  : 
return "S11(1535)" ; 
break;
 
   40   case kD13_1520  : 
return "D13(1520)" ; 
break;
 
   41   case kS11_1650  : 
return "S11(1650)" ; 
break;
 
   42   case kD13_1700  : 
return "D13(1700)" ; 
break;
 
   43   case kD15_1675  : 
return "D15(1675)" ; 
break;
 
   44   case kS31_1620  : 
return "S31(1620)" ; 
break;
 
   45   case kD33_1700  : 
return "D33(1700)" ; 
break;
 
   46   case kP11_1440  : 
return "P11(1440)" ; 
break;
 
   47   case kP33_1600  : 
return "P33(1600)" ; 
break;
 
   48   case kP13_1720  : 
return "P13(1720)" ; 
break;
 
   49   case kF15_1680  : 
return "F15(1680)" ; 
break;
 
   50   case kP31_1910  : 
return "P31(1910)" ; 
break;
 
   51   case kP33_1920  : 
return "P33(1920)" ; 
break;
 
   52   case kF35_1905  : 
return "F35(1905)" ; 
break;
 
   53   case kF37_1950  : 
return "F37(1950)" ; 
break;
 
   54   case kP11_1710  : 
return "P11(1710)" ; 
break;
 
   55   case kF17_1970  : 
return "F17(1970)" ; 
break;
 
   58   return "unknown resonance!";
 
   63   if     ( strcmp( res,
"P33(1232)" ) == 0 )  
return kP33_1232;
 
   64   else if( strcmp( res,
"S11(1535)" ) == 0 )  
return kS11_1535;
 
   65   else if( strcmp( res,
"D13(1520)" ) == 0 )  
return kD13_1520;
 
   66   else if( strcmp( res,
"S11(1650)" ) == 0 )  
return kS11_1650;
 
   67   else if( strcmp( res,
"D13(1700)" ) == 0 )  
return kD13_1700;
 
   68   else if( strcmp( res,
"D15(1675)" ) == 0 )  
return kD15_1675;
 
   69   else if( strcmp( res,
"S31(1620)" ) == 0 )  
return kS31_1620;
 
   70   else if( strcmp( res,
"D33(1700)" ) == 0 )  
return kD33_1700;
 
   71   else if( strcmp( res,
"P11(1440)" ) == 0 )  
return kP11_1440;
 
   72   else if( strcmp( res,
"P33(1600)" ) == 0 )  
return kP33_1600;
 
   73   else if( strcmp( res,
"P13(1720)" ) == 0 )  
return kP13_1720;
 
   74   else if( strcmp( res,
"F15(1680)" ) == 0 )  
return kF15_1680;
 
   75   else if( strcmp( res,
"P31(1910)" ) == 0 )  
return kP31_1910;
 
   76   else if( strcmp( res,
"P33(1920)" ) == 0 )  
return kP33_1920;
 
   77   else if( strcmp( res,
"F35(1905)" ) == 0 )  
return kF35_1905;
 
   78   else if( strcmp( res,
"F37(1950)" ) == 0 )  
return kF37_1950;
 
   79   else if( strcmp( res,
"P11(1710)" ) == 0 )  
return kP11_1710;
 
   80   else if( strcmp( res,
"F17(1970)" ) == 0 )  
return kF17_1970;
 
  423     LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  442   static std::map<Resonance_t, double> cache ;
 
  444   auto it = cache.find( res ) ;
 
  445   if ( it != cache.end() ) 
 
  450   TParticlePDG * res_pdg = pdglib->
Find( pdg );
 
  454       return cache[res] = mass;
 
  459   LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  469   static std::map<Resonance_t, double> cache ;
 
  471   auto it = cache.find( res ) ;
 
  472   if ( it != cache.end() ) 
 
  477   TParticlePDG * res_pdg = pdglib->
Find( pdg );
 
  480     return cache[res] = width;
 
  485   LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  491                                  double N0ResMaxNWidths, 
double N2ResMaxNWidths, 
double GnResMaxNWidths) {
 
  496   static std::map<Resonance_t, double> cache ;
 
  498   auto it = cache.find( res ) ;
 
  499   if ( it != cache.end() ) 
 
  510   double NW = GnResMaxNWidths;
 
  511   if(IR==2) NW = N2ResMaxNWidths;
 
  512   if(IR==0) NW = N0ResMaxNWidths;
 
  515   double Wmax = MR + NW*WR;
 
  516   int N = 1000* TMath::Nint( (Wmax-Wmin)/WR );
 
  519   double dW = (Wmax-Wmin)/(N-1);
 
  523   for(
int i=1; i<N-1; i++) {
 
  524     double W = Wmin + i*dW;
 
  528   return cache[res] = norm;
 
  555     LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  585     LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  615     LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  646     LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  678     LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
  710     LOG(
"BaryonResUtils", 
pFATAL) << 
"Unknown resonance " << res;
 
bool IsDelta(Resonance_t res)
is it a Delta resonance? 
const int kPdgP31m1910_DeltaP
const int kPdgS31m1620_DeltaM
const int kPdgP33m1232_DeltaPP
Resonance_t FromString(const char *res)
string -> resonance id 
const int kPdgF35m1905_DeltaM
const int kPdgD15m1675_N0
const int kPdgF35m1905_Delta0
const int kPdgF15m1680_NP
const int kPdgD33m1700_Delta0
const int kPdgD13m1700_NP
const int kPdgP33m1600_DeltaP
double Mass(Resonance_t res)
resonance mass (GeV) 
const int kPdgS11m1650_N0
double Width(Resonance_t res)
resonance width (GeV) 
const int kPdgF37m1950_DeltaM
const int kPdgF37m1950_DeltaP
int AngularMom(Resonance_t res)
double BreitWignerL(double W, int L, double mass, double width0, double norm)
const int kPdgP33m1600_Delta0
const int kPdgS11m1535_N0
double BWNorm(Resonance_t res, double N0ResMaxNWidths=6, double N2ResMaxNWidths=2, double GnResMaxNWidths=4)
breit-wigner normalization factor 
enum genie::EResonance Resonance_t
bool IsN(Resonance_t res)
is it an N resonance? 
const int kPdgP33m1232_DeltaP
const int kPdgP33m1232_DeltaM
const int kPdgP31m1910_DeltaM
int Cjsgn_plus(Resonance_t res)
double W(const Interaction *const i)
const int kPdgP33m1600_DeltaPP
const int kPdgF37m1950_Delta0
const int kPdgD33m1700_DeltaPP
const int kPdgF35m1905_DeltaP
static constexpr double second
int PdgCode(Resonance_t res, int Q)
(resonance id, charge) -> PDG code 
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
const int kPdgD15m1675_NP
static constexpr double GeV
const int kPdgF35m1905_DeltaPP
const int kPdgS31m1620_DeltaPP
const int kPdgP31m1910_DeltaPP
const int kPdgP33m1920_DeltaPP
const int kPdgP31m1910_Delta0
int OrbitalAngularMom(Resonance_t res)
orbital angular momentum 
const int kPdgP33m1920_DeltaP
const int kPdgD33m1700_DeltaM
const int kPdgP33m1920_DeltaM
const int kPdgF37m1950_DeltaPP
const int kPdgD13m1520_NP
const int kPdgF15m1680_N0
const int kPdgP11m1710_N0
const int kPdgS11m1650_NP
Resonance_t FromPdgCode(int pdgc)
PDG code -> resonance id. 
const int kPdgP33m1600_DeltaM
const int kPdgP33m1232_Delta0
const int kPdgP13m1720_N0
const int kPdgP11m1440_N0
int Dsgn(Resonance_t res)
const int kPdgP33m1920_Delta0
const int kPdgD13m1520_N0
const int kPdgP11m1440_NP
const int kPdgS31m1620_Delta0
static PDGLibrary * Instance(void)
Singleton class to load & serve a TDatabasePDG. 
const char * AsString(Resonance_t res)
resonance id -> string 
bool IsBaryonResonance(int pdgc)
is input a baryon resonance? 
TParticlePDG * Find(int pdgc, bool must_exist=true)
const int kPdgP11m1710_NP
const int kPdgF17m1970_N0
const int kPdgF17m1970_NP
const int kPdgS11m1535_NP
const int kPdgS31m1620_DeltaP
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
const int kPdgP13m1720_NP
int Isospin(Resonance_t res)
int ResonanceIndex(Resonance_t res)
resonance idx, quark model / SU(6) 
const int kPdgD13m1700_N0
const int kPdgD33m1700_DeltaP