Particle Identification and Tracking
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
common_src
include
master_box_t.h
Go to the documentation of this file.
1
//Copyright 2008-2011 Thomas A Caswell
2
//tcaswell@uchicago.edu
3
//http://jfi.uchicago.edu/~tcaswell
4
//
5
//This program is free software; you can redistribute it and/or modify
6
//it under the terms of the GNU General Public License as published by
7
//the Free Software Foundation; either version 3 of the License, or (at
8
//your option) any later version.
9
//
10
//This program is distributed in the hope that it will be useful, but
11
//WITHOUT ANY WARRANTY; without even the implied warranty of
12
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
//General Public License for more details.
14
//
15
//You should have received a copy of the GNU General Public License
16
//along with this program; if not, see <http://www.gnu.org/licenses>.
17
//
18
//Additional permission under GNU GPL version 3 section 7
19
//
20
//If you modify this Program, or any covered work, by linking or
21
//combining it with MATLAB (or a modified version of that library),
22
//containing parts covered by the terms of MATLAB User License, the
23
//licensors of this Program grant you additional permission to convey
24
//the resulting work.
25
26
#ifndef MASTER_BOX_T
27
#define MASTER_BOX_T
28
29
#include <vector>
30
#include <iostream>
31
#include <set>
32
33
34
#include "
enum_utils.h
"
35
#include "
part_def.h
"
36
37
namespace
utilities
38
{
39
class
Wrapper_in;
40
class
Md_store;
41
42
class
Filter;
43
44
45
}
46
47
48
namespace
tracking{
49
class
Accumulator;
55
class
Master_box
{
56
57
public
:
58
59
61
void
print
();
62
64
void
push
(
particle
* next){
65
particle_vec_
.push_back(next);
66
};
67
69
particle
*
get_particle
(
int
n){
70
return
particle_vec_
.at(n);
71
}
72
76
void
append_to_data_types
(
utilities::D_TYPE
type){
77
data_types
.insert(type);
78
}
79
83
Master_box
();
84
87
unsigned
int
size
(){
return
particle_vec_
.size();}
88
90
void
clean_pos_link
();
91
92
96
void
init
(
const
utilities::Wrapper_in
& w_in,
utilities::Filter
& filt);
97
101
void
compute_accum
(
tracking::Accumulator
& in)
const
;
102
106
const
utilities::Md_store
*
get_Md_store
(
unsigned
int
j)
const
;
107
111
~Master_box
();
112
113
protected
:
122
std::vector<particle*>
particle_vec_
;
123
132
const
utilities::Wrapper_in
*
in_wrapper_
;
133
134
//imlement this
136
unsigned
int
imagesz1
;
138
unsigned
int
imagesz2
;
139
143
std::set<utilities::D_TYPE>
data_types
;
144
148
bool
own_wrapper_
;
149
154
void
priv_init
(
utilities::Filter
const
*
const
filt);
155
156
};
157
}
158
159
160
161
#endif
Generated on Tue Sep 10 2013 17:07:21 for Particle Identification and Tracking by
1.8.4