Particle Identification and Tracking
|
s(|q|) computation. More...
#include <accum_sofq.h>
Public Member Functions | |
void | add_particle (const particle *) |
Adds a particle. More... | |
void | out_to_wrapper (utilities::Generic_wrapper &, const utilities::Md_store &md_store) const |
outputs the result of the computation to the wrapper More... | |
Accum_sofq (const utilities::Tuple< float, 2 > &q_range, utilities::Tuplef q, const int n_bins) | |
constructor,will gain arguments More... | |
~Accum_sofq () | |
void | get_magnitude_sqr (std::vector< float > &out) const |
Returns an array with the magnitudes of the complex s(q) values. More... | |
void | display () const |
Plots to screen using gnuplot. More... | |
void | get_q_vec (std::vector< float > &out) const |
Fills a vector with the q values used. More... | |
int | get_n_bins () const |
Private Attributes | |
const unsigned int | n_bins_ |
number of bins More... | |
const utilities::Tuple< float, 2 > | q_range_ |
range More... | |
const float | q_step_ |
Spacing of evaluation points in reciprocal space. More... | |
const utilities::Tuplef | q_ |
direction in reciprocal space to evaluate along. More... | |
std::vector< std::complex < float > > | s_of_q_ |
vector to hold the values More... | |
int | parts_added_ |
count of the number of particles added More... | |
std::string | units_ |
the units of q More... | |
Static Private Attributes | |
static const std::complex< float > | i_ = complex<float>(0,1) |
More... | |
static const float | pi_ = 4.0*atan(1.0) |
More... | |
s(|q|) computation.
This takes in a specific direction in reciprocal space and computes s(|q|) along that direction. If the assumption that the particles have no preferred direction holds, then this saves a lot of computation time.
Accum_sofq::Accum_sofq | ( | const utilities::Tuple< float, 2 > & | q_range, |
utilities::Tuplef | q, | ||
const int | n_bins | ||
) |
constructor,will gain arguments
[in] | q_range | Pair with the min and max |
[in] | q | the direction to take s(q) along, does not need to be a unit vector |
[in] | n_bins | the number of bins to use |
Accum_sofq::~Accum_sofq | ( | ) |
|
virtual |
Adds a particle.
The sub class determines what is computed from the particle.
Implements tracking::Accumulator.
References tracking::particle_base::get_position(), i_, n_bins_, parts_added_, pi_, q_, q_range_, q_step_, and s_of_q_.
void Accum_sofq::display | ( | ) | const |
Plots to screen using gnuplot.
References get_magnitude_sqr(), get_q_vec(), n_bins_, and parts_added_.
Referenced by main().
void Accum_sofq::get_magnitude_sqr | ( | std::vector< float > & | out) | const |
Returns an array with the magnitudes of the complex s(q) values.
[out] | out | vector of . Vector will be re-sized if needed |
References n_bins_, parts_added_, and s_of_q_.
Referenced by display(), and out_to_wrapper().
|
inline |
References n_bins_.
void Accum_sofq::get_q_vec | ( | std::vector< float > & | out) | const |
Fills a vector with the q values used.
Out is cleared and resized as needed.
[out] | out | vector of q values |
References n_bins_, q_range_, and q_step_.
Referenced by display(), and out_to_wrapper().
|
virtual |
outputs the result of the computation to the wrapper
Implements tracking::Accumulator.
References utilities::Generic_wrapper::add_dset(), utilities::Generic_wrapper::add_meta_data(), get_magnitude_sqr(), get_q_vec(), n_bins_, q_, and utilities::V_FLOAT.
|
staticprivate |
Referenced by add_particle().
|
private |
number of bins
Referenced by add_particle(), display(), get_magnitude_sqr(), get_n_bins(), get_q_vec(), and out_to_wrapper().
|
private |
count of the number of particles added
Referenced by add_particle(), display(), and get_magnitude_sqr().
|
staticprivate |
Referenced by add_particle().
|
private |
direction in reciprocal space to evaluate along.
Referenced by add_particle(), and out_to_wrapper().
|
private |
range
Referenced by add_particle(), and get_q_vec().
|
private |
Spacing of evaluation points in reciprocal space.
Referenced by add_particle(), and get_q_vec().
|
private |
vector to hold the values
Referenced by add_particle(), and get_magnitude_sqr().
|
private |
the units of q