Matrix element of tensor operator: i gamma^5 J_L(qr) C^L. nb: i makes ME real.
More...
|
| ig5jL (const Grid &r_grid, const Grid &q_grid, std::size_t max_l) |
|
| ig5jL (const jL &other) |
|
void | set_L_q (std::size_t L, double q) override final |
| Sets the current L and q values for use. Note: NOT thread safe!
|
|
double | angularF (const int ka, const int kb) const override final |
| angularF: links radiation integral to RME. RME = <a||h||b> = angularF(a,b) * radial_int(a,b)
|
|
double | angularCff (int, int) const override final |
|
double | angularCgg (int, int) const override final |
|
double | angularCfg (int, int) const override final |
|
double | angularCgf (int, int) const override final |
|
std::string | name () const override final |
| Returns "name" of operator (e.g., 'E1')
|
|
| jL (const Grid &r_grid, const Grid &q_grid, std::size_t max_l, bool subtract_one=false) |
| Contruction takes radial grid, a q grid, and a maximum L. Fills lookup table.
|
|
| jL (const jL &other) |
| Constructing from existing operator: copies JL table - faster. Can copy from a jL of different type (g0,g5 etc)
|
|
jL & | operator= (const jL &)=delete |
|
std::size_t | L () const |
| Current value of L (should = rank)
|
|
std::size_t | max_L () const |
| Maximum L value in table.
|
|
const auto & | q_grid () const |
|
const auto & | r_grid () const |
|
DiracSpinor | radial_rhs (const int kappa_a, const DiracSpinor &Fb) const override |
| radial_int = Fa * radial_rhs(a, Fb) (a needed for angular factor)
|
|
virtual double | radialIntegral (const DiracSpinor &Fa, const DiracSpinor &Fb) const override final |
| Defined via <a||h||b> = angularF(a,b) * radialIntegral(a,b) (Note: if radial_rhs is overridden, then radialIntegral must also be_.
|
|
double | rme (const DiracSpinor &a, const DiracSpinor &b, std::size_t L, double q) const |
| Directly calculate reduced matrix element without needing to call set_L_q - this is thread safe.
|
|
bool | is_zero (const DiracSpinor &a, const DiracSpinor &b, std::size_t L) const |
| Checks if specific ME is zero (when not useing set_L_q)
|
|
std::string | units () const override final |
| Returns units of operator (usually au, may be MHz, etc.)
|
|
bool | freqDependantQ () const |
|
bool | isZero (const int ka, int kb) const |
| If matrix element <a|h|b> is zero, returns true.
|
|
bool | isZero (const DiracSpinor &Fa, const DiracSpinor &Fb) const |
|
bool | selectrion_rule (int twoJA, int piA, int twoJB, int piB) const |
|
virtual void | updateFrequency (const double) |
| Update frequency for frequency-dependant operators.
|
|
void | scale (double lambda) |
| Permanently re-scales the operator by constant, lambda.
|
|
const std::vector< double > & | getv () const |
| Returns a const ref to vector v.
|
|
double | getc () const |
| Returns a const ref to constant c.
|
|
int | get_d_order () const |
|
bool | imaginaryQ () const |
| returns true if operator is imaginary (has imag MEs)
|
|
int | rank () const |
|
int | parity () const |
| returns parity, as integer (+1 or -1)
|
|
int | symm_sign (const DiracSpinor &Fa, const DiracSpinor &Fb) const |
| returns relative sign between <a||x||b> and <b||x||a>
|
|
double | rme3js (const int twoja, const int twojb, int two_mb=1, int two_q=0) const |
| ME = rme3js * RME.
|
|
DiracSpinor | reduced_rhs (const int ka, const DiracSpinor &Fb) const |
| <a||h||b> = Fa * reduced_rhs(a, Fb) (a needed for angular factor)
|
|
DiracSpinor | reduced_lhs (const int ka, const DiracSpinor &Fb) const |
| <b||h||a> = Fa * reduced_lhs(a, Fb) (a needed for angular factor)
|
|
double | reducedME (const DiracSpinor &Fa, const DiracSpinor &Fb) const |
| The reduced matrix element.
|
|
double | fullME (const DiracSpinor &Fa, const DiracSpinor &Fb, std::optional< int > two_ma=std::nullopt, std::optional< int > two_mb=std::nullopt, std::optional< int > two_q=std::nullopt) const |
| Returns "full" matrix element, for optional (ma, mb, q) [taken as int 2*]. If not specified, returns z-component (q=0), with ma=mb=min(ja,jb)
|
|
Matrix element of tensor operator: i gamma^5 J_L(qr) C^L. nb: i makes ME real.