TRIQS/triqs_cthyb 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
G_tau.hpp
1/*******************************************************************************
2 *
3 * TRIQS: a Toolbox for Research in Interacting Quantum Systems
4 *
5 * Copyright (C) 2014, H. U.R. Strand, P. Seth, I. Krivenko, M. Ferrero and O. Parcollet
6 *
7 * TRIQS is free software: you can redistribute it and/or modify it under the
8 * terms of the GNU General Public License as published by the Free Software
9 * Foundation, either version 3 of the License, or (at your option) any later
10 * version.
11 *
12 * TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY
13 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
15 * details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * TRIQS. If not, see <http://www.gnu.org/licenses/>.
19 *
20 ******************************************************************************/
21#pragma once
22
23#include <triqs/gfs.hpp>
24#include <triqs/mesh.hpp>
25
26#include "../qmc_data.hpp"
27#include "../container_set.hpp"
28
29namespace triqs_cthyb {
30
31 using namespace triqs::gfs;
32 using namespace triqs::mesh;
33
34 // Measure imaginary time Green's function (all blocks)
35 class measure_G_tau {
36
37 public:
38 measure_G_tau(qmc_data const &data, int n_tau, gf_struct_t const &gf_struct, container_set_t &results);
39 void accumulate(mc_weight_t s);
40 void collect_results(mpi::communicator const &c);
41
42 private:
43 qmc_data const &data;
44 mc_weight_t average_sign;
45 G_tau_G_target_t::view_type G_tau;
46 G_tau_G_target_t::view_type asymmetry_G_tau;
47 };
48
49} // namespace triqs_cthyb