GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
genie::MKSPPPXSec2020::HelicityAmpVminusARes< T > Class Template Reference

Public Member Functions

 HelicityAmpVminusARes ()
 
 ~HelicityAmpVminusARes ()
 
T & operator() (Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1)
 
template<typename S = T, enable_if_t< is_complex< S >{}> * = nullptr>
auto Re (Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1) -> typename S::value_type
 
template<typename S = T, enable_if_t< is_complex< S >{}> * = nullptr>
auto Im (Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1) -> typename S::value_type
 
template<typename S = T, enable_if_t<!is_complex< S >{}> * = nullptr>
auto Re (Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1) -> S
 
template<typename S = T, enable_if_t<!is_complex< S >{}> * = nullptr>
auto Im (Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1) -> S
 

Private Attributes

std::vector< T > array
 

Detailed Description

template<typename T>
class genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >

Definition at line 275 of file MKSPPPXSec2020.h.

Constructor & Destructor Documentation

Definition at line 279 of file MKSPPPXSec2020.h.

References genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::array.

279  : array(1)
280  {
281  array.reserve(288);
282  }

Definition at line 283 of file MKSPPPXSec2020.h.

283 {}

Member Function Documentation

template<typename T>
template<typename S = T, enable_if_t< is_complex< S >{}> * = nullptr>
auto genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::Im ( Resonance_t  res,
BosonPolarization  lambda_k,
NucleonPolarization  lambda_2,
NucleonPolarization  lambda_1 
) -> typename S::value_type
inline

Definition at line 303 of file MKSPPPXSec2020.h.

References genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::operator()().

304  {
305  return this->operator()(res, lambda_k, lambda_2, lambda_1).imag();
306  }
T & operator()(Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1)
template<typename T>
template<typename S = T, enable_if_t<!is_complex< S >{}> * = nullptr>
auto genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::Im ( Resonance_t  res,
BosonPolarization  lambda_k,
NucleonPolarization  lambda_2,
NucleonPolarization  lambda_1 
) -> S
inline

Definition at line 313 of file MKSPPPXSec2020.h.

314  {
315  return 0;
316  }
template<typename T>
T& genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::operator() ( Resonance_t  res,
BosonPolarization  lambda_k,
NucleonPolarization  lambda_2,
NucleonPolarization  lambda_1 
)
inline

Definition at line 284 of file MKSPPPXSec2020.h.

References genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::array, genie::gAbortingInErr, genie::kNoResonance, LOG, and pFATAL.

Referenced by genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::Im(), and genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::Re().

285  {
286  if (res == kNoResonance)
287  {
288  // meaningless to return anything
289  gAbortingInErr = true;
290  LOG("MKSPPPXSec2020", pFATAL) << "Unknown resonance " << res;
291  exit(1);
292  }
293  int indx = 2*(2*(4*res+lambda_k)+lambda_2)+lambda_1;
294  return array[indx];
295  }
#define pFATAL
Definition: Messenger.h:56
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
bool gAbortingInErr
Definition: Messenger.cxx:34
template<typename T>
template<typename S = T, enable_if_t< is_complex< S >{}> * = nullptr>
auto genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::Re ( Resonance_t  res,
BosonPolarization  lambda_k,
NucleonPolarization  lambda_2,
NucleonPolarization  lambda_1 
) -> typename S::value_type
inline

Definition at line 298 of file MKSPPPXSec2020.h.

References genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::operator()().

299  {
300  return this->operator()(res, lambda_k, lambda_2, lambda_1).real();
301  }
T & operator()(Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1)
template<typename T>
template<typename S = T, enable_if_t<!is_complex< S >{}> * = nullptr>
auto genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::Re ( Resonance_t  res,
BosonPolarization  lambda_k,
NucleonPolarization  lambda_2,
NucleonPolarization  lambda_1 
) -> S
inline

Definition at line 308 of file MKSPPPXSec2020.h.

References genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::operator()().

309  {
310  return this->operator()(res, lambda_k, lambda_2, lambda_1);
311  }
T & operator()(Resonance_t res, BosonPolarization lambda_k, NucleonPolarization lambda_2, NucleonPolarization lambda_1)

Member Data Documentation

template<typename T>
std::vector<T> genie::MKSPPPXSec2020::HelicityAmpVminusARes< T >::array
private

The documentation for this class was generated from the following file: