libsequence  1.9.5
DemographicModels.hpp
1 #ifndef __SEQUENCE_COALESCENT_DEMOGRAPHICMODELS_HPP__
2 #define __SEQUENCE_COALESCENT_DEMOGRAPHICMODELS_HPP__
3 
5 
6 namespace Sequence
7 {
8  namespace coalsim {
9  template<typename uniform_generator,
10  typename uniform01_generator,
11  typename exponential_generator>
12  arg bottleneck( uniform_generator & uni,
13  uniform01_generator & uni01,
14  exponential_generator & expo,
15  const std::vector<chromosome> & initialized_sample,
16  const marginal & initialized_marginal,
17  const double & tr,
18  const double & d,
19  const double & f,
20  const double & rho = 0.,
21  const bool & exponential_recovery = false,
22  const double & recovered_size = 1. );
23 
24  template<typename uniform_generator,
25  typename uniform01_generator,
26  typename exponential_generator>
27  arg bottleneck( const uniform_generator & uni,
28  const uniform01_generator & uni01,
29  const exponential_generator & expo,
30  const std::vector<chromosome> & initialized_sample,
31  const marginal & initialized_marginal,
32  const double & tr,
33  const double & d,
34  const double & f,
35  const double & rho = 0.,
36  const bool & exponential_recovery = false,
37  const double & recovered_size = 1. );
38 
39  template<typename uniform_generator,
40  typename uniform01_generator,
41  typename exponential_generator>
42  arg exponential_change( uniform_generator & uni,
43  uniform01_generator & uni01,
44  exponential_generator & expo,
45  const std::vector<chromosome> & initialized_sample,
46  const marginal & initialized_marginal,
47  const double & G,
48  const double & t_begin,
49  const double & t_end,
50  const double & rho = 0.,
51  const double & size_at_end = -1);
52 
53  template<typename uniform_generator,
54  typename uniform01_generator,
55  typename exponential_generator>
56  arg exponential_change( const uniform_generator & uni,
57  const uniform01_generator & uni01,
58  const exponential_generator & expo,
59  const std::vector<chromosome> & initialized_sample,
60  const marginal & initialized_marginal,
61  const double & G,
62  const double & t_begin,
63  const double & t_end,
64  const double & rho = 0.,
65  const double & size_at_end = -1);
66 
67  template<typename uniform_generator,
68  typename uniform01_generator,
69  typename exponential_generator>
70  arg snm( uniform_generator & uni,
71  uniform01_generator & uni01,
72  exponential_generator & expo,
73  const std::vector<chromosome> & initialized_sample,
74  const marginal & initialized_marginal,
75  const double & rho);
76 
77  template<typename uniform_generator,
78  typename uniform01_generator,
79  typename exponential_generator>
80  arg snm( const uniform_generator & uni,
81  const uniform01_generator & uni01,
82  const exponential_generator & expo,
83  const std::vector<chromosome> & initialized_sample,
84  const marginal & initialized_marginal,
85  const double & rho);
86  }
87 } //namespace Sequence
88 #endif
89 #include <Sequence/Coalescent/bits/DemographicModels.tcc>
std::list< marginal > arg
Ancestral Recombination Graph.
Definition: SimTypes.hpp:217
The namespace in which this library resides.
declaration of types for coalescent simulation