#include CPS_START_NAMESPACE //-------------------------------------------------------------------- // CVS keywords // // $Author: zs $ // $Date: 2004/08/18 11:57:36 $ // $Header: /space/cvs/cps/cps++/include/alg/w_all.h,v 1.4 2004/08/18 11:57:36 zs Exp $ // $Id: w_all.h,v 1.4 2004/08/18 11:57:36 zs Exp $ // $Name: v5_0_16_hantao_io_test_v7 $ // $Locker: $ // $RCSfile: w_all.h,v $ // $Revision: 1.4 $ // $Source: /space/cvs/cps/cps++/include/alg/w_all.h,v $ // $State: Exp $ // //-------------------------------------------------------------------- // // w_spect.h: // // // classes defined in this header file // // WspectGinfo -- implemented in w_ginfo.C // // A support class to provide some global information to the rest // of this package. It is designed that all the rest classes be // derived from this class without any memory or executation // overhead. // // WspectHyperRectangle // -- implemented in w_hyper_rect.C // // WspectMomenta -- implemented in w_momenta.C // // WspectQuark -- implemented in w_quark.C // // WspectMesons -- implemented in w_meson.C // // WspectBaryon -- implemented in w_baryon.C // // // added by Thomas and Xiaodong for extended mesons // WspectExtendedMesons -- implemented in w_ext_mesons.C // WspectExtendedMesonsBE // // WspectFuzzing // // Iff interested in the implementation details [calculation procedures, // private member functions and quark propagator storage order]: // go to the end of this file for more comments. // #ifndef INCLUDED_W_ALL #define INCLUDED_W_ALL CPS_END_NAMESPACE #include // FILE * #include // Float, Complex #include // SourceKind CPS_START_NAMESPACE // added by Xiaodong & Thomas CPS_END_NAMESPACE #include #include #include #include #include #include #include #include #include #include #include #include CPS_START_NAMESPACE //--------------------------------------------------------------------------- // Forward Declarations -- classes defined in other translation units //--------------------------------------------------------------------------- class Lattice; // defined in util/include/lattice.h class CgArg; // defined in alg/include/cg_arg.h class CommonArg; // defined in alg/include/common_arg.h class AlgWspect; // defined in alg/include/alg_w_spect.h //--------------------------------------------------------------------------- // Forward Declarations -- classes defined here, implemented in *.C //--------------------------------------------------------------------------- class WspectGinfo; class WspectHyperRectangle; class WspectQuark; class WspectMesons; class WspectBaryon; //Added by Xiaodong and Thomas class WspectExtendedMesons; #endif // ! _INCLUDED_W_ALL //--------------------------------------------------------------------------- // STORAGE ORDER - quark propagator from source y to sink x //--------------------------------------------------------------------------- // // float[y_Dirac][y_Color][x_T][x_Z][x_Y][x_X][x_Dirac][x_Color][Complex] // // or briefly // // float[Dy][Cy][T][Z][Y][X][Dx][Cx][2]. // // //--------------------------------------------------------------------------- // ARGUMENTs in the private calculation functions of Mesons and Baryons //--------------------------------------------------------------------------- // // D1x: Dirac index for quark propagator 1 at sink position x // // D1y: Dirac index for quark propagator 1 at source position y // // D2x: Dirac index for quark propagator 2 at sink position x // // D2y: Dirac index for quark propagator 2 at source position y // // D3x: Dirac index for quark propagator 3 at sink position x // // D3y: Dirac index for quark propagator 3 at source position y // // a_local_site_offset_for_quark_prop: // offset in words associated with a local site lcl[] for // the access to the quark propagators. // It equals to WspectGinfo::siteOffset(lcl) * SPINORs. // // result: RETURNED WITH ACCUMMULATION (!) // ^^^^^^^^^^^^^ // result += whatever number the [Dirac or Color] algebra gives // // //--------------------------------------------------------------------------- // CALCULATION PROCEDURE //--------------------------------------------------------------------------- // // CALCULATION PROCEDURE -- MESONs // step 1: color algebra [same for 16 mesons] // step 2: Momentum Projection [same for 16 mesons] // step 3: Dirac Algebra [different for each meson] // finish: Everything() // // CALCULATION PROCEDURE -- BARYONs // step 1: color algebra // step 2: Dirac Algebra // step 3: Momentum Projection // step 4: Dirac Projection // finish: Everything() // // // ColorAlgebra -- all [inner] color indexes disappear thereafter // Mesons: result += Trace (QuarkProp1 QuarkProp2^dag) // Baryon: result += two color tensors * .... // // // DiracAlgebra -- all inner Dirac indexes disappear thereafter // // // MomProject -- sum over space with right momentum. // //--------------------------------------------------------------------------- CPS_END_NAMESPACE