32#ifndef TRIUMVIRATE_INCLUDE_PARTICLES_HPP_INCLUDED_
33#define TRIUMVIRATE_INCLUDE_PARTICLES_HPP_INCLUDED_
159 const std::string& catalogue_filepath,
160 const std::string& catalogue_columns,
171 std::vector<double> x, std::vector<double> y, std::vector<double> z,
172 std::vector<double> nz, std::vector<double> ws, std::vector<double> wc
226 const double boxsize[3]
243 const double boxsize[3]
257 const double boxsize[3],
const double boxsize_pad[3]
277 const double boxsize[3],
const double boxsize_pad[3]
292 const double boxsize[3],
const int ngrid[3],
const double ngrid_pad[3]
313 const double boxsize[3],
const int ngrid[3],
const double ngrid_pad[3]
void initialise_particles(const int num)
Initialise particle data container.
static void centre_in_box(ParticleCatalogue &catalogue, const double boxsize[3])
Centre a catalogue in a box.
int load_particle_data(std::vector< double > x, std::vector< double > y, std::vector< double > z, std::vector< double > nz, std::vector< double > ws, std::vector< double > wc)
Read in particle data.
void calc_pos_extents(bool init=true)
Calculate the extents of particle positions.
~ParticleCatalogue()
Destruct the particle catalogue.
ParticleCatalogue(int verbose=-1)
Construct the particle catalogue with initial values.
std::string source
catalogue source
void reset_particles()
Reset particle data container.
void calc_total_weights()
Calculate total overall weight of particles.
ParticleData & operator[](const int pid)
Return individual particle information.
void offset_coords(const double dpos[3])
Offset particle positions by a given vector.
void finalise_particles()
Finalise particle data container.
static void pad_grids(ParticleCatalogue &catalogue, const double boxsize[3], const int ngrid[3], const double ngrid_pad[3])
Pad a catalogue in a box.
double pos_span[3]
span of particle coordinates
ParticleData * pdata
particle data
int load_catalogue_file(const std::string &catalogue_filepath, const std::string &catalogue_columns, double volume=0.)
Read in a catalogue file.
double pos_min[3]
minimum values of particle coordinates
int ntotal
total number of particles
void offset_coords_for_periodicity(const double boxsize[3])
Offset particle positions for periodic boundary conditions.
static void pad_in_box(ParticleCatalogue &catalogue, const double boxsize[3], const double boxsize_pad[3])
Pad a catalogue in a box.
double wtotal
total overall weight of particles
double wstotal
total sample weight of particles
double pos_max[3]
maximum values of particle coordinates
Provide tracking of program resources and exceptions.
double pos[3]
particle position vector
double w
particle overall weight
double ws
particle sample weight
double nz
redshift-dependent expected number density
double wc
particle clustering weight