forqs module reference
Forward simulation of Recombination, Quantitative traits, and Selection
All
Classes
Groups
Pages
RecombinationPositionGenerator.hpp
1
//
2
// RecombinationPositionGenerator.hpp
3
//
4
// Created by Darren Kessner with John Novembre
5
//
6
// Copyright (c) 2013 Regents of the University of California
7
// All rights reserved.
8
//
9
// Redistribution and use in source and binary forms, with or without
10
// modification, are permitted provided that the following conditions are met:
11
//
12
// * Redistributions of source code must retain the above copyright notice,
13
// this list of conditions and the following disclaimer.
14
//
15
// * Redistributions in binary form must reproduce the above copyright notice,
16
// this list of conditions and the following disclaimer in the documentation
17
// and/or other materials provided with the distribution.
18
//
19
// * Neither UCLA nor the names of its contributors may be used to endorse or
20
// promote products derived from this software without specific prior
21
// written permission.
22
//
23
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
24
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
//
34
35
36
#ifndef _RECOMBINATIONPOSITIONGENERATOR_HPP_
37
#define _RECOMBINATIONPOSITIONGENERATOR_HPP_
38
39
40
#include "Configurable.hpp"
41
#include "shared_ptr.hpp"
42
#include <vector>
43
44
45
//
46
// RecombinationPositionGenerator
47
//
48
52
53
class
RecombinationPositionGenerator
:
public
Configurable
54
{
55
public
:
56
57
virtual
std::vector<unsigned int> get_positions(
size_t
chromosome_pair_index = 0)
const
= 0;
58
virtual
~
RecombinationPositionGenerator
(){}
59
60
// Configurable interface
61
62
virtual
std::string class_name()
const
;
63
virtual
Parameters parameters()
const
;
64
virtual
void
configure(
const
Parameters& parameters,
const
Registry
& registry);
65
66
protected
:
67
68
RecombinationPositionGenerator
(
const
std::string&
id
) :
Configurable
(
id
) {}
69
};
70
71
typedef
shared_ptr<RecombinationPositionGenerator> RecombinationPositionGeneratorPtr;
72
73
74
#endif // _RECOMBINATIONPOSITIONGENERATOR_HPP_
75
src
RecombinationPositionGenerator.hpp
Generated on Thu Sep 19 2013 12:22:57 for forqs module reference by
1.8.4