CHROMA
multipole_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Multipole moments
4  *
5  * Compute multipole moment within two hadron states using spherical
6  * harmonic expansion
7  */
8 
9 #ifndef __multipole_h__
10 #define __multipole_h__
11 
12 namespace Chroma
13 {
14 
15  //! Storage structure to hold electric and magnetic multipole moments
16  /*!
17  * \ingroup hadron
18  *
19  * Here I mean array_L<array_M<array_T>>
20  */
21  struct Multipole_t
22  {
23  struct ElecMag_t
24  {
25  int L;
26  int M;
27  multi1d<Complex> electric;
28  multi1d<Complex> magnetic;
29  };
30 
31  int j_decay;
32  multi1d< multi1d< ElecMag_t > > corr;
33  };
34 
35 
36  //! Read a Multipole_t
37  /*!
38  * \ingroup hadron
39  */
40  void read(XMLReader& xml, const std::string& path, Multipole_t& pole);
41 
42  //! Write a Multipole_t
43  /*!
44  * \ingroup hadron
45  */
46  void write(XMLWriter& xml, const std::string& path, const Multipole_t& pole);
47 
48 
49  //! Compute contractions for multipole moments
50  /*!
51  * \ingroup hadron
52  *
53  * \param quark_propagator quark propagator ( Read )
54  * \param seq_quark_prop sequential quark propagator ( Read )
55  * \param GammaInsertion extra gamma matrix insertion ( Read )
56  * \param max_power max value of L ( Read )
57  * \param j_decay direction of decay ( Read )
58  * \param t0 cartesian coordinates of the source ( Read )
59  * \param xml xml file object ( Write )
60  * \param xml_group std::string used for writing xml data ( Read )
61  */
62 
63  void multipole(const LatticePropagator& quark_propagator,
64  const LatticePropagator& seq_quark_prop,
65  int GammaInsertion,
66  int max_power,
67  int j_decay,
68  int t0,
69  XMLWriter& xml,
70  const std::string& xml_group);
71 
72 } // end namespace Chroma
73 
74 #endif
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams &param)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams &param)
Writer parameters.
void multipole(const LatticePropagator &quark_propagator, const LatticePropagator &seq_quark_prop, int GammaInsertion, int max_power, int j_decay, int t0, XMLWriter &xml, const std::string &xml_group)
Compute contractions for multipole moments.
Definition: multipole_w.cc:325
int j_decay
Definition: meslate.cc:22
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
multi1d< Complex > electric
Definition: multipole_w.h:27
multi1d< Complex > magnetic
Definition: multipole_w.h:28
Storage structure to hold electric and magnetic multipole moments.
Definition: multipole_w.h:22
multi1d< multi1d< ElecMag_t > > corr
Definition: multipole_w.h:32