Particle Identification and Tracking
wrapper_i_jb_binary.h
Go to the documentation of this file.
1 //Copyright 2012 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 //
21 //If you modify this Program, or any covered work, by linking or
22 //combining it with MATLAB (or a modified version of that library),
23 //containing parts covered by the terms of MATLAB User License, the
24 //licensors of this Program grant you additional permission to convey
25 //the resulting work.
26 //
27 //If you modify this Program, or any covered work, by linking or
28 //combining it with IPP (or a modified version of that library),
29 //containing parts covered by the terms of End User License Agreement
30 //for the Intel(R) Software Development Products, the licensors of
31 //this Program grant you additional permission to convey the resulting
32 //work.
33 //
34 //If you modify this Program, or any covered work, by linking or
35 //combining it with MATLAB (or a modified version of that library),
36 //containing parts covered by the terms of MATLAB User License, the
37 //licensors of this Program grant you additional permission to convey
38 //the resulting work.
39 #include <iostream>
40 #include <map>
41 
42 #include "wrapper_i_generic.h"
43 
44 #ifndef WRAPPER_JB_BINARY
45 #define WRAPPER_JB_BINARY
46 namespace utilities{
47 
48 using std::map;
49 using std::string;
50 
60 private:
62  std::string fname_;
67 
68 
69 public:
70 
71  // inherited from ABC
72  int get_value(int& out,
73  int ind,D_TYPE type, int frame) const ;
74  float get_value(float& out,
75  int ind,D_TYPE type, int frame) const ;
76  std::complex<float> get_value(std::complex<float>& out,
77  int ind,D_TYPE type, int frame) const ;
78 
79 
80  std::set<D_TYPE> get_data_types() const ;
81 
82 
83 
84  int get_num_entries(unsigned int frame) const ;
85  int get_num_entries() const ;
86 
87  int get_num_frames() const ;
88 
89  bool contains_type(D_TYPE type) const ;
90 
91  Tuplef get_dims() const;
92 
95 
96  // local
100  bool set_file_name(const std::string & fname);
105  bool proc_file(unsigned int N);
106 
107 
108 
109 };
110 }
111 
112 #endif