24 #ifndef PYNE_6OR6BJURKJHHTOFWXO2VMQM5EY    25 #define PYNE_6OR6BJURKJHHTOFWXO2VMQM5EY    38 #include "moab/Range.hpp"    39 #include "moab/Core.hpp"    40 #ifndef PYNE_IS_AMALGAMATED    43 #include "moab/CartVect.hpp"    82     moab::CartVect o_point;
    97     int sample_pdf(
double rand1, 
double rand2);
   120                    std::vector<int> cell_list);
   123     double get_x() {
return x;};
   124     double get_y() {
return y;};
   125     double get_z() {
return z;};
   126     double get_e() {
return e;};
   127     double get_w() {
return w;};
   128     std::vector<int> get_cell_list() {
return cell_list;};
   136     std::vector<int> cell_list;
   141   enum MeshMode {VOXEL, SUBVOXEL, TET};
   155             std::string src_tag_name,
   156             std::vector<double> e_bounds,
   170             std::string src_tag_name,
   171             std::vector<double> e_bounds,
   172             std::string bias_tag_name);
   180             std::map<std::string, std::string> tag_names,
   181             std::vector<double> e_bounds,
   191     int get_cell_list_size();
   201     std::string filename; 
   202     std::string src_tag_name; 
   203     std::string bias_tag_name; 
   204     std::string cell_number_tag_name; 
   205     std::string cell_fracs_tag_name; 
   206     std::map<std::string, std::string> tag_names; 
   207     std::vector<double> e_bounds;  
   222     moab::Interface* mesh; 
   224     moab::EntityType ve_type; 
   227     std::vector<edge_points> all_edge_points; 
   228     std::vector<double> biased_weights; 
   229     std::vector<int> cell_number; 
   230     std::vector<int> cell_list; 
   231     std::vector<double> cell_fracs; 
   238     void mesh_geom_data(moab::Range ves, std::vector<double> &volumes);
   239     void mesh_tag_data(moab::Range ves, 
const std::vector<double> volumes);
   241     moab::CartVect sample_xyz(
int ve_idx, std::vector<double> rands);
   242     double sample_e(
int e_idx, 
double rand);
   243     double sample_w(
int pdf_idx);
   245     void normalize_pdf(std::vector<double> & pdf);
   246     int num_groups(moab::Tag tag);
   247     std::vector<double> read_bias_pdf(moab::Range ves, std::vector<double> volumes,
   248                                       std::vector<double> pdf);
   250     int get_max_num_cells(moab::Tag cell_fracs_tag);
   252     bool check_cell_fracs(moab::Tag cell_fracs_tag);
   260 #endif // PYNE_6OR6BJURKJHHTOFWXO2VMQM5EY void particle_birth_(double *rands, double *x, double *y, double *z, double *e, double *w, int *cell_list)
Definition: source_sampling.cpp:31
 
Stores 4 connected points in a mesh volume element. 
Definition: source_sampling.h:81
 
Definition: source_sampling.h:105
 
std::vector< int > alias
Probabilities. 
Definition: source_sampling.h:101
 
Mesh based Monte Carlo source sampling. 
Definition: source_sampling.h:144
 
std::vector< double > read_e_bounds(std::string e_bounds_file)
Definition: source_sampling.cpp:50
 
BiasMode
Problem modes. 
Definition: source_sampling.h:140
 
A container representing enrichment cascades. 
Definition: _atomic_data.h:16
 
void sampling_setup_(int *mode, int *cell_list_size)
Definition: source_sampling.cpp:11
 
std::vector< double > prob
Number of bins in the PDF. 
Definition: source_sampling.h:100
 
A data structure for O(1) source sampling. 
Definition: source_sampling.h:89