QNANO
Main Page
Related Pages
Classes
Files
File List
include
manybody
Selected_Manybody_States.h
1
#ifndef QNANO_NEW_SELECTED_MANYBODY_STATES_DEFINED_H
2
#define QNANO_NEW_SELECTED_MANYBODY_STATES_DEFINED_H
3
4
#include "manybody/Fermion_Double_Index.h"
5
#include <map>
6
#include <cstdlib>
7
#include <iostream>
8
#include "tools/Size_Provider.h"
9
#include "tools/Reader.h"
10
#include "tools/Index_Hash_Table.h"
11
12
13
class
Selected_Manybody_States
:
public
Size_Provider
{
14
public
:
15
16
virtual
size_t
size()
const
=0;
17
virtual
void
clear(){};
18
virtual
bool
is_contained(
const
Fermion_Double_Index
&fi)
const
=0;
19
20
virtual
int
find(
const
Fermion_Double_Index
&fi)
const
=0;
21
virtual
int
find_check(
const
Fermion_Double_Index
&fi)
const
=0;
22
23
24
virtual
void
add_if_not_contained(
const
Fermion_Double_Index
&fi)=0;
25
virtual
void
add_from_file(
const
std::string &fname,
int
rank_e,
int
rank_h,
int
max_nr_e,
int
max_nr_h)=0;
26
27
virtual
void
print(std::ostream &os=std::cout)
const
=0;
28
virtual
void
print(
const
std::string &fname)
const
{
29
std::ofstream ofs(fname.c_str());
30
print(ofs);
31
}
32
33
virtual
void
add_all(
int
rank_e,
int
rank_h,
int
nr_e,
int
nr_h,
int
start_e=0,
int
start_h=0)=0;
34
virtual
void
add_singles(
int
nr_e,
int
nr_h)=0;
35
36
37
};
38
#endif
Size_Provider
Definition:
Size_Provider.h:11
Selected_Manybody_States
Definition:
Selected_Manybody_States.h:13
Fermion_Double_Index
Definition:
Fermion_Double_Index.h:14
Generated by
1.8.11