Particle Identification and Tracking
ta_msd.h
Go to the documentation of this file.
1 //Copyright 2010 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 IPP (or a modified version of that library),
22 //containing parts covered by the terms of End User License Agreement
23 //for the Intel(R) Software Development Products, the licensors of
24 //this Program grant you additional permission to convey the resulting
25 //work.
26 
27 
28 #ifndef TRK_ACCUM_VANHOVE
29 #define TRK_ACCUM_VANHOVE
30 
31 #include "track_accum.h"
32 #include <vector>
33 
34 namespace utilities{
35 //forward declare
36 class Generic_wrapper;
37 class Md_store;
38 }
39 
40 namespace tracking
41 {
42 
47 class TA_msd: public Trk_accumulator
48 {
49 
50 public:
51  // inherited form Trk_accumulator
52  void add_disp(const utilities::Tuplef & displacement,unsigned steps);
53  unsigned max_step()const {return max_step_;}
54 
58  TA_msd(unsigned max_steps);
59 
63  ~TA_msd();
64 
69  const utilities::Md_store & md_store)const;
70 
71 private:
76  std::vector<float> summed_displacement_;
81  std::vector<unsigned int> segment_count_;
85  unsigned max_step_;
86 
87 
88 
89 };
90 
91 
92 
93 
94 }
95 #endif
96