HiRep 0.1
Loading...
Searching...
No Matches
spectrum.h
1/***************************************************************************\
2* Copyright (c) 2013, Rudy Arthur, Ari Hietanen *
3* All rights reserved. *
4\***************************************************************************/
5
6/*******************************************************************************
7*
8* File spectrum.h
9*
10* Functions for measuring spectrum
11*
12*******************************************************************************/
13
14// Header file for:
15// - meson_measurements.c
16// - baryon_measurements.c
17// - meson_measurements_ff.c
18// - mesons.c
19
20#ifndef SPECTRUM_H
21#define SPECTRUM_H
22
23#include "Utils/data_storage.h"
24#include "spinor_field.h"
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30//used in mesons.c and trunc_hairpin.c
31#define SPIN_2D_INDEX(i, j) ((i) * 4 + (j))
32
33//meson_measurements.c
34void measure_spectrum_semwall(int nm, double *m, int nhits, int conf_num, double precision, storage_switch swc,
35 data_storage_array **ret);
36void measure_spectrum_discon_semwall(int nm, double *m, int nhits, int conf_num, double precision, storage_switch swc,
37 data_storage_array **ret);
38void measure_spectrum_discon_gfwall(int nm, double *m, int conf_num, double precision, storage_switch swc,
39 data_storage_array **ret);
40void measure_spectrum_discon_volume(int nm, double *m, int conf_num, double precision, int dil, storage_switch swc,
41 data_storage_array **ret);
42void measure_spectrum_gfwall(int nm, double *m, int conf_num, double precision, storage_switch swc, data_storage_array **ret);
43void measure_spectrum_pt(int tau, int nm, double *m, int n_mom, int conf_num, double precision, storage_switch swc,
44 data_storage_array **ret);
45void measure_spectrum_semwall_ext(int nm, double *m, int nhits, int conf_num, double precision, storage_switch swc,
46 data_storage_array **ret);
47void measure_spectrum_pt_ext(int tau, int nm, double *m, int n_mom, int conf_num, double precision, storage_switch swc,
48 data_storage_array **ret);
49void measure_spectrum_semwall_fixedbc(int dt, int nm, double *m, int nhits, int conf_num, double precision, storage_switch swc,
50 data_storage_array **ret);
51void measure_spectrum_pt_fixedbc(int tau, int dt, int nm, double *m, int n_mom, int conf_num, double precision,
52 storage_switch swc, data_storage_array **ret);
53void measure_spectrum_gfwall_fixedbc(int dt, int nm, double *m, int conf_num, double precision, storage_switch swc,
54 data_storage_array **ret);
55void measure_formfactor_pt(int ti, int tf, int nm, double *m, int n_mom, int conf_num, double precision, storage_switch swc,
56 data_storage_array **ret);
57void measure_formfactor_fixed(int ti, int tf, int dt, int nm, double *m, int n_mom, int conf_num, double precision,
58 storage_switch swc, data_storage_array **ret);
59void measure_diquark_semwall_background(int nm, double *m, int nhits, int conf_num, double precision, double Q, int n,
60 storage_switch swc, data_storage_array **ret);
61void measure_conserved_formfactor_fixed(int ti, int tf, int dt, int nm, double *m, int n_mom, int conf_num, double precision,
62 storage_switch swc, data_storage_array **ret); //TODO: not defined in lib
63
64//baryon_measurements.c
65void measure_baryons(double *m, int conf_num, double precision, storage_switch swc, data_storage_array **ret);
66
67/* For measuring spectrum with a four fermion interaction */
68//meson_measurements_ff.c
69void measure_spectrum_ff_semwall(int nm, double *m, int nhits, int conf_num, double precision, storage_switch swc,
70 data_storage_array **ret);
71void measure_spectrum_discon_ff_semwall(int nm, double *m, int nhits, int degree_hopping, int nhits_hopping, int conf_num,
72 double precision, storage_switch swc, data_storage_array **ret);
73void measure_spectrum_ff_pt(int tau, int nm, double *m, int n_mom, int conf_num, double precision, storage_switch swc,
74 data_storage_array **ret);
75void measure_spectrum_semwall_ff_ext(int nm, double *m, int nhits, int conf_num, double precision, storage_switch swc,
76 data_storage_array **ret);
77
78//mesons.c
79void id_correlator(double *out, int t0, spinor_field *qp);
80void g0_correlator(double *out, int t0, spinor_field *qp);
81void g5_correlator(double *out, int t0, spinor_field *qp);
82void g0g5_correlator(double *out, int t0, spinor_field *qp);
83void g1_correlator(double *out, int t0, spinor_field *qp);
84void g2_correlator(double *out, int t0, spinor_field *qp);
85void g3_correlator(double *out, int t0, spinor_field *qp);
86void g0g1_correlator(double *out, int t0, spinor_field *qp);
87void g0g2_correlator(double *out, int t0, spinor_field *qp);
88void g0g3_correlator(double *out, int t0, spinor_field *qp);
89void g5g1_correlator(double *out, int t0, spinor_field *qp);
90void g5g2_correlator(double *out, int t0, spinor_field *qp);
91void g5g3_correlator(double *out, int t0, spinor_field *qp);
92void g0g5g1_correlator(double *out, int t0, spinor_field *qp);
93void g0g5g2_correlator(double *out, int t0, spinor_field *qp);
94void g0g5g3_correlator(double *out, int t0, spinor_field *qp);
95void g5_g0g5_re_correlator(double *out, int t0, spinor_field *qp);
96void g5_g0g5_im_correlator(double *out, int t0, spinor_field *qp);
97
98void id_trace_H(hr_complex *out, hr_complex *smat);
99void g0_trace_H(hr_complex *out, hr_complex *smat);
100void g5_trace_H(hr_complex *out, hr_complex *smat);
101void g0g5_trace_H(hr_complex *out, hr_complex *smat);
102void g1_trace_H(hr_complex *out, hr_complex *smat);
103void g2_trace_H(hr_complex *out, hr_complex *smat);
104void g3_trace_H(hr_complex *out, hr_complex *smat);
105void g0g1_trace_H(hr_complex *out, hr_complex *smat);
106void g0g2_trace_H(hr_complex *out, hr_complex *smat);
107void g0g3_trace_H(hr_complex *out, hr_complex *smat);
108void g5g1_trace_H(hr_complex *out, hr_complex *smat);
109void g5g2_trace_H(hr_complex *out, hr_complex *smat);
110void g5g3_trace_H(hr_complex *out, hr_complex *smat);
111void g0g5g1_trace_H(hr_complex *out, hr_complex *smat);
112void g0g5g2_trace_H(hr_complex *out, hr_complex *smat);
113void g0g5g3_trace_H(hr_complex *out, hr_complex *smat);
114
115void id_debug(hr_complex Gamma[4][4], int *sign);
116void g0_debug(hr_complex Gamma[4][4], int *sign);
117void g5_debug(hr_complex Gamma[4][4], int *sign);
118void g0g5_debug(hr_complex Gamma[4][4], int *sign);
119void g1_debug(hr_complex Gamma[4][4], int *sign);
120void g2_debug(hr_complex Gamma[4][4], int *sign);
121void g3_debug(hr_complex Gamma[4][4], int *sign);
122void g0g1_debug(hr_complex Gamma[4][4], int *sign);
123void g0g2_debug(hr_complex Gamma[4][4], int *sign);
124void g0g3_debug(hr_complex Gamma[4][4], int *sign);
125void g5g1_debug(hr_complex Gamma[4][4], int *sign);
126void g5g2_debug(hr_complex Gamma[4][4], int *sign);
127void g5g3_debug(hr_complex Gamma[4][4], int *sign);
128void g0g5g1_debug(hr_complex Gamma[4][4], int *sign);
129void g0g5g2_debug(hr_complex Gamma[4][4], int *sign);
130void g0g5g3_debug(hr_complex Gamma[4][4], int *sign);
131
132void id_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
133void g0_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
134void g1_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
135void g2_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
136void g3_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
137void g5_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
138void g0g5_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
139void g5g1_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
140void g5g2_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
141void g5g3_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
142void g0g1_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
143void g0g2_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
144void g0g3_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
145void g0g5g1_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
146void g0g5g2_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
147void g0g5g3_eval_g5GammaDag_times_spinor(suNf_spinor *out, suNf_spinor *in);
148
149#ifdef __cplusplus
150}
151#endif
152#endif
The elementary site structures defined in suN.h are used in this file to define field structures that...
Definition data_storage.h:16
Spinor field array containing SU(N_f) spinors in chosen fermion representation.
Definition spinor_field.h:189