A monte carlo pin cell spectral code for nuclear engineering applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Tally.h
Go to the documentation of this file.
1 
8 #ifndef TALLY_H_
9 #define TALLY_H_
10 
11 #ifdef __cplusplus
12 #include <limits>
13 #include <cmath>
14 #include <math.h>
15 #include <string.h>
16 #include <sstream>
17 #include "log.h"
18 #include "arraycreator.h"
19 #include "Neutron.h"
20 #include "Region.h"
21 #include "Material.h"
22 #include "Isotope.h"
23 #include "Region.h"
24 #endif
25 
26 class Geometry;
27 class DerivedTally;
28 
30 #define NEUTRON_MASS 939565378
31 
33 #define LIGHT_SPEED 299792458
34 
35 
45 typedef enum tallyDomainTypes {
58 
59 
73 typedef enum triggerTypes {
82 } triggerType;
83 
84 
85 /* Type of tallies */
86 /* DERIVED type tallies are returned when users apply mathematical operations
87  * to two or more tallies (ie, tally2 / tally2 or tally1 + tally2) */
99 typedef enum tallyTypes {
133 } tallyType;
134 
135 
136 
146 typedef enum binSpacingTypes {
154 
155 
172 class Tally {
173 
174 protected:
176  char* _tally_name;
182  double* _edges;
184  double* _centers;
186  double** _tallies;
188  double _bin_delta;
199 
203  double* _batch_mu;
207  double* _batch_std_dev;
209  double* _batch_rel_err;
214 
215 public:
216  Tally(char* tally_name=(char*)"");
217  virtual ~Tally();
218  char* getTallyName();
219  int getNumBins();
220  int getNumEdges();
221  double* getBinEdges();
222  double* getBinCenters();
223  double getBinDelta();
224  double getBinDelta(double sample);
228  double** getTallies();
229  double getTally(int bin_index, int batch_num);
230  double getMaxTally();
231  double getMinTally();
232  int getBinIndex(double sample);
233 
234  double getMaxMu();
235  double getMaxVariance();
236  double getMaxStdDev();
237  double getMaxRelErr();
238  float getTriggerPrecision();
241  bool hasExpandedGroupBins();
242 
243  /* IMPORTANT: The following six class method prototypes must not be changed
244  * without changing Geometry.i to allow for the data arrays to be
245  * transformed into numpy arrays */
246  void retrieveTallyEdges(double* data, int num_bins);
247  void retrieveTallyCenters(double* data, int num_bins);
248  void retrieveTallyMu(double* data, int num_bins);
249  void retrieveTallyVariance(double* data, int num_bins);
250  void retrieveTallyStdDev(double* data, int num_bins);
251  void retrieveTallyRelErr(double* data, int num_bins);
252 
253  int getNumBatches();
254  double* getBatchMu();
255  double* getBatchVariance();
256  double* getBatchStdDev();
257  double* getBatchRelativeError();
258 
260  void setTallyType(tallyType type);
262  void setBinEdges(double* edges, int num_edges);
263  void setGroupExpandBins(bool expand_bins);
264  void setPrecisionTrigger(triggerType trigger_type, float precision);
265  void generateBinEdges(double start, double end, int num_bins,
266  binSpacingType type);
267  void generateBinCenters();
268 
269  void setNumBatches(int num_batches);
270  void incrementNumBatches(int num_batches);
271  bool isPrecisionTriggered();
272 
273  void computeBatchStatistics();
274  void computeScaledBatchStatistics(double scale_factor);
275  void normalizeBatchMu();
276  void outputBatchStatistics(const char* filename);
277  void printTallies(bool uncertainties=false);
278  Tally* clone();
279 
280  void tally(neutron* neutron, double weight);
281  void tallyGroup(neutron* neutron, double weight);
282 
288  virtual void tally(neutron* neutron) =0;
289 
290  DerivedTally* tile(const int num_tiles);
291 
292  DerivedTally* addIntegers(const int* amt, const int length);
293  DerivedTally* addFloats(const float* amt, const int length);
294  DerivedTally* addDoubles(const double* amt, const int length);
295 
296  DerivedTally* subtractIntegers(const int* amt, const int length);
297  DerivedTally* subtractFloats(const float* amt, const int length);
298  DerivedTally* subtractDoubles(const double* amt, const int length);
299 
300  DerivedTally* multiplyIntegers(const int* amt, const int length);
301  DerivedTally* multiplyFloats(const float* amt, const int length);
302  DerivedTally* multiplyDoubles(const double* amt, const int length);
303 
304  DerivedTally* divideIntegers(const int* amt, const int length);
305  DerivedTally* divideFloats(const float* amt, const int length);
306  DerivedTally* divideDoubles(const double* amt, const int length);
307 
308  /* Operator overloads for tally arithmetic */
313 
314  DerivedTally* operator+(const int amt);
315  DerivedTally* operator-(const int amt);
316  DerivedTally* operator*(const int amt);
317  DerivedTally* operator/(const int amt);
318 
319  DerivedTally* operator+(const float amt);
320  DerivedTally* operator-(const float amt);
321  DerivedTally* operator*(const float amt);
322  DerivedTally* operator/(const float amt);
323 
324  DerivedTally* operator+(const double amt);
325  DerivedTally* operator-(const double amt);
326  DerivedTally* operator*(const double amt);
327  DerivedTally* operator/(const double amt);
328 };
329 
330 
342 class IsotopeTally: public Tally {
343 
344 protected:
347 
348 public:
355  IsotopeTally(Isotope* isotope, char* tally_name=(char*)"")
356  : Tally(tally_name){
358  _isotope = isotope;
359  }
360 
361 
366  Isotope* getIsotope() { return _isotope; }
367 
369  virtual void tally(neutron* neutron) =0;
370 };
371 
372 
380 class MaterialTally: public Tally {
381 
382 protected:
385 public:
392  MaterialTally(Material* material, char* tally_name=(char*)"")
393  : Tally(tally_name) {
395  _material = material;
396  }
397 
403 
405  virtual void tally(neutron* neutron) =0;
406 };
407 
408 
416 class RegionTally: public Tally {
417 
418 protected:
421 public:
428  RegionTally(Region* region, char* tally_name=(char*)"")
429  : Tally(tally_name) {
431  _region = region;
432  }
433 
438  Region* getRegion() { return _region; }
439 
441  virtual void tally(neutron* neutron) =0;
442 };
443 
444 
452 class GeometryTally: public Tally {
453 
454 protected:
457 public:
464  GeometryTally(Geometry* geometry, char* tally_name=(char*)"")
465  : Tally(tally_name) {
467  _geometry = geometry;
468  }
469 
475 
477  virtual void tally(neutron* neutron) =0;
478 };
479 
480 
481 /******************************************************************************/
482 /*************************** Collision Rate Tallies ***************************/
483 /******************************************************************************/
484 
490 
491 public:
499  IsotopeCollisionRateTally(Isotope* isotope, char* tally_name=(char*)"")
500  : IsotopeTally(isotope, tally_name){
502  }
503 
504  void tally(neutron* neutron);
505 };
506 
507 
513 
514 public:
523  char* tally_name=(char*)"")
524  : MaterialTally(material, tally_name){
526  }
527 
528  void tally(neutron* neutron);
529 };
530 
531 
532 
538 
539 public:
547  RegionCollisionRateTally(Region* region, char* tally_name=(char*)"")
548  : RegionTally(region, tally_name){
550  }
551 
552  void tally(neutron* neutron);
553 };
554 
555 
556 
562 
563 public:
572  char* tally_name=(char*)"")
573  : GeometryTally(geometry, tally_name){
575  }
576 
577  void tally(neutron* neutron);
578 };
579 
580 
581 
582 /******************************************************************************/
583 /**************************** Elastic Rate Tallies ****************************/
584 /******************************************************************************/
585 //FIXME - implement scattering matrix and override most Tally methods
586 
592 
593 public:
601  IsotopeElasticRateTally(Isotope* isotope, char* tally_name=(char*)"")
602  : IsotopeTally(isotope, tally_name){
604  }
605 
606  void tally(neutron* neutron);
607 };
608 
609 
615 
616 public:
625  char* tally_name=(char*)"")
626  : MaterialTally(material, tally_name){
628  }
629 
630  void tally(neutron* neutron);
631 };
632 
633 
639 
640 public:
648  RegionElasticRateTally(Region* region, char* tally_name=(char*)"")
649  : RegionTally(region, tally_name){
651  }
652 
653  void tally(neutron* neutron);
654 };
655 
656 
662 
663 public:
672  char* tally_name=(char*)"")
673  : GeometryTally(geometry, tally_name){
675  }
676 
677  void tally(neutron* neutron);
678 };
679 
680 /******************************************************************************/
681 /**************************** GROUP Rate Tallies ****************************/
682 /******************************************************************************/
683 //FIXME - implement scattering matrix and override most Tally methods
684 
690 
691 public:
699  IsotopeGroupRateTally(Isotope* isotope, char* tally_name=(char*)"")
700  : IsotopeTally(isotope, tally_name){
702  _group_expand_bins = false;
703  }
704 
705  void tally(neutron* neutron);
706 };
707 
713 
714 public:
723  char* tally_name=(char*)"")
724  : MaterialTally(material, tally_name){
726  _group_expand_bins = false;
727  }
728 
729  void tally(neutron* neutron);
730 };
731 
732 
738 
739 public:
747  RegionGroupRateTally(Region* region, char* tally_name=(char*)"")
748  : RegionTally(region, tally_name){
750  _group_expand_bins = false;
751  }
752 
753  void tally(neutron* neutron);
754 };
755 
756 
762 
763 public:
772  char* tally_name=(char*)"")
773  : GeometryTally(geometry, tally_name){
775  _group_expand_bins = false;
776  }
777 
778  void tally(neutron* neutron);
779 };
780 
781 /******************************************************************************/
782 /************************ Outter Scatter Rate Tallies ************************/
783 /******************************************************************************/
789 
790 public:
798  IsotopeOutScatterRateTally(Isotope* isotope, char* tally_name=(char*)"")
799  : IsotopeTally(isotope, tally_name){
801  }
802 
803  void tally(neutron* neutron);
804 };
805 
811 
812 public:
821  char* tally_name=(char*)"")
822  : MaterialTally(material, tally_name){
824  }
825 
826  void tally(neutron* neutron);
827 };
828 
829 
835 
836 public:
844  RegionOutScatterRateTally(Region* region, char* tally_name=(char*)"")
845  : RegionTally(region, tally_name){
847  }
848 
849  void tally(neutron* neutron);
850 };
851 
852 
858 
859 public:
868  char* tally_name=(char*)"")
869  : GeometryTally(geometry, tally_name){
871  }
872 
873  void tally(neutron* neutron);
874 };
875 
876 /******************************************************************************/
877 /************************** Absorption Rate Tallies ***************************/
878 /******************************************************************************/
879 
885 
886 public:
895  char* tally_name=(char*)"")
896  : IsotopeTally(isotope, tally_name) {
898  }
899 
900  void tally(neutron* neutron);
901 };
902 
903 
909 
910 public:
919  char* tally_name=(char*)"")
920  : MaterialTally(material, tally_name) {
922  }
923 
924  void tally(neutron* neutron);
925 };
926 
927 
933 
934 public:
942  RegionAbsorptionRateTally(Region* region, char* tally_name=(char*)"")
943  : RegionTally(region, tally_name) {
945  }
946 
947  void tally(neutron* neutron);
948 };
949 
950 
956 
957 public:
966  char* tally_name=(char*)"")
967  : GeometryTally(geometry, tally_name) {
969  }
970 
971  void tally(neutron* neutron);
972 };
973 
974 
975 /******************************************************************************/
976 /**************************** Capture Rate Tallies ****************************/
977 /******************************************************************************/
978 
979 
985 
986 public:
994  IsotopeCaptureRateTally(Isotope* isotope, char* tally_name=(char*)"")
995  : IsotopeTally(isotope, tally_name) {
997  }
998 
999  void tally(neutron* neutron);
1000 };
1001 
1002 
1008 
1009 public:
1018  char* tally_name=(char*)"")
1019  : MaterialTally(material, tally_name) {
1021  }
1022 
1023  void tally(neutron* neutron);
1024 };
1025 
1026 
1032 
1033 public:
1041  RegionCaptureRateTally(Region* region, char* tally_name=(char*)"")
1042  : RegionTally(region, tally_name) {
1044  }
1045 
1046  void tally(neutron* neutron);
1047 };
1048 
1049 
1055 
1056 public:
1065  char* tally_name=(char*)"")
1066  : GeometryTally(geometry, tally_name) {
1068  }
1069 
1070  void tally(neutron* neutron);
1071 };
1072 
1073 
1074 /******************************************************************************/
1075 /*************************** Fission Rate Tallies *****************************/
1076 /******************************************************************************/
1077 
1078 
1084 
1085 public:
1093  IsotopeFissionRateTally(Isotope* isotope, char* tally_name=(char*)"")
1094  : IsotopeTally(isotope, tally_name) {
1096  }
1097 
1098  void tally(neutron* neutron);
1099 };
1100 
1101 
1107 
1108 public:
1117  char* tally_name=(char*)"")
1118  : MaterialTally(material, tally_name) {
1120  }
1121 
1122  void tally(neutron* neutron);
1123 };
1124 
1125 
1131 
1132 public:
1140  RegionFissionRateTally(Region* region, char* tally_name=(char*)"")
1141  : RegionTally(region, tally_name) {
1143  }
1144 
1145  void tally(neutron* neutron);
1146 };
1147 
1148 
1154 
1155 public:
1164  char* tally_name=(char*)"")
1165  : GeometryTally(geometry, tally_name) {
1167  }
1168 
1169  void tally(neutron* neutron);
1170 };
1171 
1172 
1173 /******************************************************************************/
1174 /************************** Transport Rate Tallies ****************************/
1175 /******************************************************************************/
1176 
1182 
1183 public:
1191  IsotopeTransportRateTally(Isotope* isotope, char* tally_name=(char*)"")
1192  : IsotopeTally(isotope, tally_name) {
1194  }
1195 
1196  void tally(neutron* neutron);
1197 };
1198 
1199 
1205 
1206 public:
1215  char* tally_name=(char*)"")
1216  : MaterialTally(material, tally_name) {
1218  }
1219 
1220  void tally(neutron* neutron);
1221 };
1222 
1223 
1229 
1230 public:
1238  RegionTransportRateTally(Region* region, char* tally_name=(char*)"")
1239  : RegionTally(region, tally_name) {
1241  }
1242 
1243  void tally(neutron* neutron);
1244 };
1245 
1246 
1252 
1253 public:
1262  char* tally_name=(char*)"")
1263  : GeometryTally(geometry, tally_name) {
1265  }
1266 
1267  void tally(neutron* neutron);
1268 };
1269 
1270 
1271 /******************************************************************************/
1272 /************************** Diffusion Rate Tallies ****************************/
1273 /******************************************************************************/
1274 
1280 
1281 public:
1289  IsotopeDiffusionRateTally(Isotope* isotope, char* tally_name=(char*)"")
1290  : IsotopeTally(isotope, tally_name) {
1292  }
1293 
1294  void tally(neutron* neutron);
1295 };
1296 
1297 
1303 
1304 public:
1313  char* tally_name=(char*)"")
1314  : MaterialTally(material, tally_name) {
1316  }
1317 
1318  void tally(neutron* neutron);
1319 };
1320 
1321 
1327 
1328 public:
1336  RegionDiffusionRateTally(Region* region, char* tally_name=(char*)"")
1337  : RegionTally(region, tally_name) {
1339  }
1340 
1341  void tally(neutron* neutron);
1342 };
1343 
1344 
1350 
1351 public:
1360  char* tally_name=(char*)"")
1361  : GeometryTally(geometry, tally_name) {
1363  }
1364  void tally(neutron* neutron);
1365 };
1366 
1367 
1368 /******************************************************************************/
1369 /*************************** Leakage Rate Tallies *****************************/
1370 /******************************************************************************/
1371 //FIXME
1372 
1379 
1380 public:
1389  char* tally_name=(char*)"")
1390  : MaterialTally(material, tally_name) {
1392  }
1393 
1394  void tally(neutron* neutron);
1395 };
1396 
1397 
1403 
1404 public:
1412  RegionLeakageRateTally(Region* region, char* tally_name=(char*)"")
1413  : RegionTally(region, tally_name) {
1415  }
1416 
1417  void tally(neutron* neutron);
1418 };
1419 
1420 
1426 
1427 public:
1436  char* tally_name=(char*)"")
1437  : GeometryTally(geometry, tally_name) {
1439  }
1440 
1441  void tally(neutron* neutron);
1442 };
1443 
1444 
1445 /******************************************************************************/
1446 /****************************** Flux Tallies **********************************/
1447 /******************************************************************************/
1448 
1454 
1455 public:
1463  MaterialFluxTally(Material* material, char* tally_name=(char*)"")
1464  : MaterialTally(material, tally_name) {
1465  _tally_type = FLUX;
1466  }
1467 
1468  void tally(neutron* neutron);
1469 };
1470 
1471 
1477 
1478 public:
1486  RegionFluxTally(Region* region, char* tally_name=(char*)"")
1487  : RegionTally(region, tally_name) {
1488  _tally_type = FLUX;
1489  }
1490 
1491  void tally(neutron* neutron);
1492 };
1493 
1494 
1500 
1501 public:
1509  GeometryFluxTally(Geometry* geometry, char* tally_name=(char*)"")
1510  : GeometryTally(geometry, tally_name) {
1511  _tally_type = FLUX;
1512  }
1513 
1514  void tally(neutron* neutron);
1515 };
1516 
1517 
1518 /******************************************************************************/
1519 /*************************** Mean Lifetime Tallies ****************************/
1520 /******************************************************************************/
1521 
1522 
1528 
1529 public:
1538  char* tally_name=(char*)"")
1539  : MaterialTally(material, tally_name){
1541  }
1542 
1543  void tally(neutron* neutron);
1544 };
1545 
1546 
1552 
1553 public:
1562  char* tally_name=(char*)"")
1563  : RegionTally(region, tally_name){
1565  }
1566 
1567  void tally(neutron* neutron);
1568 };
1569 
1570 
1576 
1577 public:
1586  char* tally_name=(char*)"")
1587  : GeometryTally(geometry, tally_name){
1589  }
1590 
1591  void tally(neutron* neutron);
1592 };
1593 
1594 
1595 /******************************************************************************/
1596 /****************************** Derived Tallies *******************************/
1597 /******************************************************************************/
1598 
1603 class DerivedTally: public Tally {
1604 
1605 public:
1612  DerivedTally(char* tally_name=(char*)"")
1613  : Tally(tally_name){
1615  _tally_type = DERIVED;
1616  }
1617 
1618  void tally(neutron* neutron);
1619  void setTallyName(char* tally_name);
1620  void setTallies(double** tallies);
1621  void setBatchMu(double* batch_mu);
1622  void setBatchVariance(double* batch_variance);
1623  void setBatchStdDev(double* batch_std_dev);
1624  void setBatchRelErr(double* batch_rel_err);
1625  void setComputedBatchStatistics(bool computed);
1626 };
1627 
1628 
1635 inline int Tally::getBinIndex(double sample) {
1636 
1637  if (_num_bins == 0)
1638  log_printf(ERROR, "Cannot return a bin index for Tally %s since "
1639  "the bins have not yet been created", _tally_name);
1640 
1641  int index;
1642 
1643  /* Logarithmically spaced bins */
1644  if (_bin_spacing == LOGARITHMIC)
1645  index = int((log10(sample) - log10(_edges[0])) / _bin_delta);
1646 
1647  /* Equally spaced bins */
1648  else if (_bin_spacing == EQUAL)
1649  index = int((sample - _edges[0]) / _bin_delta);
1650 
1651  /* If the bin_type == OTHER then the bin edges were not generated by
1652  * generateEqualBinEdges, so use a binary search to find the bin */
1653  else
1654  index = findUpperIndex(_edges, _num_edges - 1, 0, sample) - 1;
1655 
1656  /* if the sample is outside of the bin edges, set index to infinity */
1657  if (sample < _edges[0] || sample > _edges[_num_edges -1])
1658  index = std::numeric_limits<int>::max();
1659 
1660  /* if the sample is equal to the last bin edge, return the last bin */
1661  else if (sample == _edges[_num_edges - 1])
1662  index = _num_edges - 2;
1663 
1664  return index;
1665 }
1666 
1667 
1668 #endif /* TALLY_H_ */
The neutron C structure.
triggerTypes
The type of precision trigger for a tally object.
Definition: Tally.h:73
Definition: Tally.h:119
DerivedTally * operator*(Tally *tally)
Tally multiplication operator.
Definition: Tally.cpp:1660
void retrieveTallyVariance(double *data, int num_bins)
This method fills an array with the tally variances.
Definition: Tally.cpp:593
Definition: Tally.h:81
A class for tallying the flux in all regions filled by a material.
Definition: Tally.h:1453
GeometryTransportRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryTransportRateTally constructor calls the GeometryTally constructor and Tally constructors and...
Definition: Tally.h:1261
Definition: Tally.h:117
void tally(neutron *neutron)
Tally the material group-to-group scattering rate by incrementing the tally by at the neutron's ener...
Definition: Tally.cpp:3259
Represents a neutron in a PINSPEC simulation.
Definition: Neutron.h:27
double * getBinCenters()
Returns a double array of bin center values.
Definition: Tally.cpp:115
Definition: Tally.h:148
Definition: Tally.h:53
int findUpperIndex(T *x, int upper_bound, int lower_bound, U pt)
This function finds the index of the first element in an array that is greater than the given paramet...
Definition: interpolate.h:31
A class for tallying the transport rate within the geometry.
Definition: Tally.h:1251
void tally(neutron *neutron)
Tally the material leakage rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3645
DerivedTally * subtractFloats(const float *amt, const int length)
Tally subtraction with an array of floats.
Definition: Tally.cpp:2534
tallyTypes
The types of tallies which may be instantiated and used in a PINSPEC simulation.
Definition: Tally.h:99
void computeScaledBatchStatistics(double scale_factor)
Computes average, variance, standard deviation and relative error for each bin over the set of batche...
Definition: Tally.cpp:1049
A class for tallying the absorption rate within a region.
Definition: Tally.h:932
binSpacingType getBinSpacingType()
Returns the bin spacing type (EQUAL, LOGARITHMIC, OTHER).
Definition: Tally.cpp:160
A class for tallying the transport rate within a material.
Definition: Tally.h:1204
tallyType getTallyType()
Returns the type of tally for these bins (FLUX, COLLISION_RATE, etc).
Definition: Tally.cpp:178
virtual void tally(neutron *neutron)=0
A method to tally a neutron to be implemented by subclasses.
int _num_edges
Definition: Tally.h:180
char * _tally_name
Definition: Tally.h:176
void tally(neutron *neutron)
Tally the region absorption rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3383
A class for tallying the collision rate within a material.
Definition: Tally.h:1007
Definition: Tally.h:56
RegionGroupRateTally(Region *region, char *tally_name=(char *)"")
RegionGroupRateTally constructor calls the RegionTally constructor and Tally constructors and sets th...
Definition: Tally.h:747
A class for tallying the outter scattering rate within the geometry.
Definition: Tally.h:857
A class for tallying the leakage rate for the regions filled by a material.
Definition: Tally.h:1378
void tally(neutron *neutron)
Tally the geometry elastic scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3230
double getMaxVariance()
Returns the maximum tally variance over batches.
Definition: Tally.cpp:355
double * _centers
Definition: Tally.h:184
void tally(neutron *neutron)
Tally the material flux by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3689
Material * _material
Definition: Tally.h:384
Tally * clone()
Creates a new version of this tally with identical data.
Definition: Tally.cpp:1379
void tally(neutron *neutron)
Tally the region outter scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3327
A class for tallying the flux for the geometry.
Definition: Tally.h:1499
void retrieveTallyEdges(double *data, int num_bins)
This method fills an array with the tally bin edges.
Definition: Tally.cpp:513
double ** _tallies
Definition: Tally.h:186
void tally(neutron *neutron)
Tally the region flux by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3700
A class for tallying the group-to-group scattering rate for an isotope.
Definition: Tally.h:689
double * _batch_std_dev
Definition: Tally.h:207
A class for tallying the leakage rate for a region.
Definition: Tally.h:1402
double getMaxMu()
Returns the maximum average tally over batches.
Definition: Tally.cpp:338
MaterialInterCollisionTimeTally(Material *material, char *tally_name=(char *)"")
MaterialInterCollisionTimeTally constructor calls the MaterialTally constructor and Tally constructor...
Definition: Tally.h:1537
double * _batch_rel_err
Definition: Tally.h:209
A class for tallying the collision rate within a material.
Definition: Tally.h:512
A class for tallying the elastic scattering rate within a material.
Definition: Tally.h:614
double * _edges
Definition: Tally.h:182
Definition: Tally.h:51
void setPrecisionTrigger(triggerType trigger_type, float precision)
Sets a precision trigger for this tally.
Definition: Tally.cpp:760
A class for tallying the elastic scattering rate within the geometry.
Definition: Tally.h:661
The Material class.
An abstract class for tallies with MATERIAL domain type.
Definition: Tally.h:380
A class for tallying the leakage rate for the geometry.
Definition: Tally.h:1425
RegionTransportRateTally(Region *region, char *tally_name=(char *)"")
RegionTransportRateTally constructor calls the RegionTally constructor and Tally constructors and set...
Definition: Tally.h:1238
void normalizeBatchMu()
Divide each tally by the maximum tally value.
Definition: Tally.cpp:1099
void setBatchRelErr(double *batch_rel_err)
Assigns an array for the tally batch relative errors.
Definition: Tally.cpp:3841
RegionAbsorptionRateTally(Region *region, char *tally_name=(char *)"")
RegionAbsorptionRateTally constructor calls the RegionTally constructor and Tally constructors and se...
Definition: Tally.h:942
void tally(neutron *neutron)
Tally the geometry diffusion rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3626
void retrieveTallyStdDev(double *data, int num_bins)
This method fills an array with the tally standard deviations.
Definition: Tally.cpp:626
RegionDiffusionRateTally(Region *region, char *tally_name=(char *)"")
RegionDiffusionRateTally constructor calls the RegionTally constructor and Tally constructors and set...
Definition: Tally.h:1336
GeometryElasticRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryElasticRateTally constructor calls the GeometryTally constructor and Tally constructors and s...
Definition: Tally.h:671
MaterialLeakageRateTally(Material *material, char *tally_name=(char *)"")
MaterialLeakageRateTally constructor calls the MaterialTally constructor and Tally constructors and s...
Definition: Tally.h:1388
The Isotope represents a nuclide at some temperature.
Definition: Isotope.h:41
Definition: Tally.h:79
float getTriggerPrecision()
Returns the trigger precision for this tally.
Definition: Tally.cpp:409
A class for tallying the capture rate within the geometry.
Definition: Tally.h:1054
RegionOutScatterRateTally(Region *region, char *tally_name=(char *)"")
RegionOutScatterRateTally constructor calls the RegionTally constructor and Tally constructors and se...
Definition: Tally.h:844
A class for tallying the fission rate within a region..
Definition: Tally.h:1130
void tally(neutron *neutron)
Tally the material outter scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3314
Tally(char *tally_name=(char *)"")
Tally constructor.
Definition: Tally.cpp:26
void tally(neutron *neutron)
Tally the geometry leakage rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3671
double _bin_delta
Definition: Tally.h:188
A class for tallying the flux for a region.
Definition: Tally.h:1476
Geometry * _geometry
Definition: Tally.h:456
Definition: log.h:77
void tally(neutron *neutron)
Tally the geometry transport rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3565
GeometryTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryTally constructor calls the Tally constructor and sets the tally domain to GEOMETRY...
Definition: Tally.h:464
A class for tallying the time between collisions for the region.
Definition: Tally.h:1551
triggerType getTriggerType()
Returns the precision trigger type (VARIANCE, STANDARD_DEVIATION, RELATIVE_ERROR, or NONE)...
Definition: Tally.cpp:419
binSpacingType _bin_spacing
Definition: Tally.h:190
void tally(neutron *neutron)
Tally the material fission rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3483
void tally(neutron *neutron)
Tally the time between collisions by incrementing the tally with the travel time spent by this neutro...
Definition: Tally.cpp:3749
Definition: Tally.h:105
void tally(neutron *neutron)
Tally the region diffusion rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3611
void tally(neutron *neutron)
Tally the isotope diffusion rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3582
A class for tallying the absorption rate within a material.
Definition: Tally.h:908
DerivedTally * operator/(Tally *tally)
Tally division operator.
Definition: Tally.cpp:1772
GeometryAbsorptionRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryAbsorptionRateTally constructor calls the GeometryTally constructor and Tally constructors an...
Definition: Tally.h:965
Definition: Tally.h:47
double * _batch_variance
Definition: Tally.h:205
int _num_batches
Definition: Tally.h:201
MaterialOutScatterRateTally(Material *material, char *tally_name=(char *)"")
MaterialOutScatterRateTally constructor calls the MaterialTally constructor and Tally constructors an...
Definition: Tally.h:820
void outputBatchStatistics(const char *filename)
Outputs the batch statistics (if they have been computed) to an ASCII file.
Definition: Tally.cpp:1122
GeometryGroupRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryGroupRateTally constructor calls the GeometryTally constructor and Tally constructors and set...
Definition: Tally.h:771
void printTallies(bool uncertainties=false)
Print the tally values to the screen.
Definition: Tally.cpp:1239
Isotope * _isotope
Definition: Tally.h:346
void retrieveTallyRelErr(double *data, int num_bins)
This method fills an array with the tally relative errors.
Definition: Tally.cpp:659
bool _computed_statistics
Definition: Tally.h:211
RegionCaptureRateTally(Region *region, char *tally_name=(char *)"")
RegionCaptureRateTally constructor calls the RegionTally constructor and Tally constructors and sets ...
Definition: Tally.h:1041
void tally(neutron *neutron)
Tally the isotope absorption rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3356
void setTallyDomainType(tallyDomainType type)
Set the tally domain type (MATERIAL, REGION, etc.).
Definition: Tally.cpp:690
A class for tallying the outter scattering rate for an isotope.
Definition: Tally.h:788
A class for tallying the group-to-group scattering rate within a region.
Definition: Tally.h:737
GeometryFissionRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryFissionRateTally constructor calls the GeometryTally constructor and Tally constructors and s...
Definition: Tally.h:1163
DerivedTally * operator+(Tally *tally)
Tally addition operator.
Definition: Tally.cpp:1443
The region class represents a region in 2D space.
Definition: Region.h:58
void tally(neutron *neutron)
Tally the region absorption rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3396
double getMaxStdDev()
Returns the maximum tally standard deviatoin.
Definition: Tally.cpp:389
IsotopeTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeTally constructor calls the Tally constructor and sets the tally domain to ISOTOPE...
Definition: Tally.h:355
Definition: Tally.h:109
void setBatchVariance(double *batch_variance)
Assigns an array for the tally batch variances.
Definition: Tally.cpp:3821
enum tallyTypes tallyType
The types of tallies which may be instantiated and used in a PINSPEC simulation.
void tally(neutron *neutron)
Tally the region capture rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3439
void tallyGroup(neutron *neutron, double weight)
This method tallies a particular weight for a neutron for group-to group scattering.
Definition: Tally.cpp:959
virtual ~Tally()
Tally destructor deletes memory for tallies, number of tallies, bin centers and bin edges (if they ha...
Definition: Tally.cpp:53
double * getBatchVariance()
Returns a pointer to an array of tally batch variances if they have been computed.
Definition: Tally.cpp:293
float _trigger_precision
Definition: Tally.h:198
void computeBatchStatistics()
Computes average, variance, standard deviation and relative error for each bin over the set of batche...
Definition: Tally.cpp:998
void tally(neutron *neutron)
Tally the region group-to-group scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3272
void tally(neutron *neutron)
Tally the material elastic scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3217
IsotopeCaptureRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeCaptureRateTally constructor calls the IsotopeTally constructor and Tally constructors and set...
Definition: Tally.h:994
void tally(neutron *neutron)
Tally the region fission rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3495
The Geometry represents the highest level entity in which a neutron may reside during a PINSPEC simul...
Definition: Geometry.h:48
void retrieveTallyMu(double *data, int num_bins)
This method fills an array with the average tally values.
Definition: Tally.cpp:563
IsotopeGroupRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeGroupRateTally constructor calls the IsotopeTally constructor and Tally constructors and sets ...
Definition: Tally.h:699
int getNumEdges()
Returns the number of tally edges.
Definition: Tally.cpp:93
void setBatchStdDev(double *batch_std_dev)
Assigns an array for the tally batch standard deviations.
Definition: Tally.cpp:3831
triggerType _trigger_type
Definition: Tally.h:196
A class for tallying the diffusion rate within a material.
Definition: Tally.h:1302
Definition: Tally.h:101
MaterialFluxTally(Material *material, char *tally_name=(char *)"")
IsotopeCaptureRateTally constructor calls the MaterialTally constructor and Tally constructors and se...
Definition: Tally.h:1463
A class for tallying the time between collisions for the geometry.
Definition: Tally.h:1575
enum binSpacingTypes binSpacingType
The spacing between bin edges for a tally.
A Tally reprsents a set of bins for tallying some quantity.
Definition: Tally.h:172
MaterialDiffusionRateTally(Material *material, char *tally_name=(char *)"")
MaterialDiffusionRateTally constructor calls the MaterialTally constructor and Tally constructors and...
Definition: Tally.h:1312
void tally(neutron *neutron)
Tally the material transport rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3539
void setBatchMu(double *batch_mu)
Assigns an array for the tally batch averages.
Definition: Tally.cpp:3812
void setNumBatches(int num_batches)
Set the number of batches for this Tally.
Definition: Tally.cpp:778
bool isPrecisionTriggered()
Returns whether or not the tally precision meets the precision trigger threshold, if a trigger exists...
Definition: Tally.cpp:449
void retrieveTallyCenters(double *data, int num_bins)
This method fills an array with the tally bin centers.
Definition: Tally.cpp:536
A class for tallying the absorption rate for an isotope.
Definition: Tally.h:884
A class for tallying the transport rate for an isotope.
Definition: Tally.h:1181
void tally(neutron *neutron)
Tally the time between collisions by incrementing the tally with the travel time spent by this neutro...
Definition: Tally.cpp:3730
Functions for creating arrays with similar syntax to MATLAB.
GeometryDiffusionRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryDiffusionRateTally constructor calls the GeometryTally constructor and Tally constructors and...
Definition: Tally.h:1359
void tally(neutron *neutron)
Tally the isotope fission rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3469
The Isotope class.
Definition: Tally.h:152
DerivedTally * divideIntegers(const int *amt, const int length)
Tally division with an array of integers.
Definition: Tally.cpp:2802
DerivedTally * addIntegers(const int *amt, const int length)
Tally addition with an array of integers.
Definition: Tally.cpp:2345
A class for tallying the group-to-group scattering rate within the geometry.
Definition: Tally.h:761
MaterialFissionRateTally(Material *material, char *tally_name=(char *)"")
MaterialFissionRateTally constructor calls the MaterialTally constructor and Tally constructors and s...
Definition: Tally.h:1116
A class for tallying the outter scattering rate within a region.
Definition: Tally.h:834
void tally(neutron *neutron)
Tally the region leakage rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3658
binSpacingTypes
The spacing between bin edges for tallies.
Definition: Tally.h:146
Definition: Tally.h:103
Definition: Tally.h:49
A class for tallying the diffusion rate within a region.
Definition: Tally.h:1326
DerivedTally(char *tally_name=(char *)"")
DerivedTally constructor calls the Tally constructor and sets the tally domain type to UNDEFINED and ...
Definition: Tally.h:1612
A class for tallies resulting from tally arithmetic operations.
Definition: Tally.h:1603
void setTallies(double **tallies)
Assigns an array for the tally values.
Definition: Tally.cpp:3803
RegionCollisionRateTally(Region *region, char *tally_name=(char *)"")
RegionCollisionRateTally constructor calls the RegionTally constructor and Tally constructors and set...
Definition: Tally.h:547
MaterialTally(Material *material, char *tally_name=(char *)"")
MaterialTally constructor calls the Tally constructor and sets the tally domain to MATERIAL...
Definition: Tally.h:392
MaterialCollisionRateTally(Material *material, char *tally_name=(char *)"")
MaterialCollisionRateTally constructor calls the MaterialTally constructor and Tally constructors and...
Definition: Tally.h:522
double * getBatchMu()
Returns a pointer to an array of tally batch averages if they have been computed. ...
Definition: Tally.cpp:278
DerivedTally * multiplyFloats(const float *amt, const int length)
Tally multiplication with an array of floats.
Definition: Tally.cpp:2686
Definition: Tally.h:132
Definition: Tally.h:111
Region * _region
Definition: Tally.h:420
MaterialCaptureRateTally(Material *material, char *tally_name=(char *)"")
MaterialCaptureRateTally constructor calls the IsotopeTally constructor and Tally constructors and se...
Definition: Tally.h:1017
void tally(neutron *neutron, double weight)
This method tallies a particular weight for a neutron.
Definition: Tally.cpp:921
void tally(neutron *neutron)
Tally the material absorption rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3370
double * getBinEdges()
Returns a double array of bin edge values.
Definition: Tally.cpp:102
Definition: Tally.h:123
double * getBatchStdDev()
Returns a pointer to an array of tally batch standard deviations if they have been computed...
Definition: Tally.cpp:308
GeometryLeakageRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryLeakageRateTally constructor calls the GeometryTally constructor and Tally constructors and s...
Definition: Tally.h:1435
DerivedTally * subtractIntegers(const int *amt, const int length)
Tally subtraction with an array of integers.
Definition: Tally.cpp:2487
MaterialGroupRateTally(Material *material, char *tally_name=(char *)"")
MaterialGroupRateTally constructor calls the MaterialTally constructor and Tally constructors and set...
Definition: Tally.h:722
RegionTally(Region *region, char *tally_name=(char *)"")
RegionTally constructor calls the Tally constructor and sets the tally domain to REGION.
Definition: Tally.h:428
A class for tallying the capture rate for an isotope.
Definition: Tally.h:984
MaterialAbsorptionRateTally(Material *material, char *tally_name=(char *)"")
MaterialAbsorptionRateTally constructor calls the MaterialTally constructor and Tally constructors an...
Definition: Tally.h:918
void tally(neutron *neutron)
Tally the region collision rate by incrementing the tally by 1.0 at the neutron's energy...
Definition: Tally.cpp:3164
double getMaxRelErr()
Returns the maximum tally relative error.
Definition: Tally.cpp:372
A class for tallying the elastic scattering rate within a region.
Definition: Tally.h:638
MaterialTransportRateTally(Material *material, char *tally_name=(char *)"")
MaterialTransportRateTally constructor calls the MaterialTally constructor and Tally constructors and...
Definition: Tally.h:1214
bool hasComputedBatchStatistics()
Returns whether or not the tally has computed batch statistics.
Definition: Tally.cpp:428
Isotope * getIsotope()
Returns the isotope for this tally.
Definition: Tally.h:366
tallyDomainType _tally_domain
Definition: Tally.h:192
DerivedTally * addFloats(const float *amt, const int length)
Tally addition with an array of floats.
Definition: Tally.cpp:2391
double * getBatchRelativeError()
Returns a pointer to an array of tally batch relative errors if they have been computed.
Definition: Tally.cpp:323
The Material class represents a collection of isotope objects.
Definition: Material.h:37
void tally(neutron *neutron)
Tally the isotope transport rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3525
GeometryCollisionRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryCollisionRateTally constructor calls the GeometryTally constructor and Tally constructors and...
Definition: Tally.h:571
DerivedTally * divideFloats(const float *amt, const int length)
Tally division with an array of floats.
Definition: Tally.cpp:2861
DerivedTally * multiplyDoubles(const double *amt, const int length)
Tally multiplication with an array of doubles.
Definition: Tally.cpp:2744
double ** getTallies()
Returns a double array of the tallies within each bin.
Definition: Tally.cpp:187
virtual void tally(neutron *neutron)=0
A method to tally a neutron to be implemented by subclasses.
The Region class.
A class for tallying the fission rate for an isotope.
Definition: Tally.h:1083
A class for tallying the out scattering rate within a material.
Definition: Tally.h:810
void setTallyType(tallyType type)
Set the tally type (FLUX, CAPTURE_RATE, etc.).
Definition: Tally.cpp:699
A class for tallying the capture rate for an isotope.
Definition: Tally.h:1349
void setComputedBatchStatistics(bool computed)
Assigns whether or not the tally has computed batch statistics.
Definition: Tally.cpp:3851
A class for tallying the absorption within the geometry.
Definition: Tally.h:955
Geometry * getGeometry()
Returns the geometry in which this tally resides.
Definition: Tally.h:474
Material * getMaterial()
Returns the material in which this tally resides.
Definition: Tally.h:402
A class for tallying the capture rate within a region.
Definition: Tally.h:1031
RegionElasticRateTally(Region *region, char *tally_name=(char *)"")
RegionElasticRateTally constructor calls the RegionTally constructor and Tally constructors and sets ...
Definition: Tally.h:648
void tally(neutron *neutron)
Tally the material capture rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3426
void log_printf(logLevel level, const char *format,...)
Print a formatted message to the console.
Definition: log.cpp:255
DerivedTally * addDoubles(const double *amt, const int length)
Tally addition with an array of doubles.
Definition: Tally.cpp:2439
A class for tallying the diffusion rate for an isotope.
Definition: Tally.h:1279
GeometryOutScatterRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryOutScatterRateTally constructor calls the GeometryTally constructor and Tally constructors an...
Definition: Tally.h:867
IsotopeCollisionRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeCollisionRateTally constructor calls the IsotopeTally constructor and Tally constructors and s...
Definition: Tally.h:499
IsotopeDiffusionRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeDiffusionRateTally constructor calls the IsotopeTally constructor and Tally constructors and s...
Definition: Tally.h:1289
int _num_bins
Definition: Tally.h:178
double * _batch_mu
Definition: Tally.h:203
An abstract class for tallies with ISOTOPE domain type.
Definition: Tally.h:342
Definition: Tally.h:75
double getTally(int bin_index, int batch_num)
Returns a specific tally for a specific bin and batch.
Definition: Tally.cpp:202
virtual void tally(neutron *neutron)=0
A method to tally a neutron to be implemented by subclasses.
int getBinIndex(double sample)
Finds the bin index for a sample in a set of bins. If the samples is outside the bounds of all bins...
Definition: Tally.h:1635
void tally(neutron *neutron)
A DERIVED tally cannot tally anything, and will throw an exception.
Definition: Tally.cpp:3784
virtual void tally(neutron *neutron)=0
A method to tally a neutron to be implemented by subclasses.
double getMaxTally()
Returns the maximum tally value among all bins and batches.
Definition: Tally.cpp:221
int getNumBins()
Returns the number of tally bins.
Definition: Tally.cpp:85
int getNumBatches()
Returns the number of batches for this tally.
Definition: Tally.cpp:268
MaterialElasticRateTally(Material *material, char *tally_name=(char *)"")
MaterialCollisionRateTally constructor calls the MaterialTally constructor and Tally constructors and...
Definition: Tally.h:624
void tally(neutron *neutron)
Tally the geometry outter scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3340
IsotopeFissionRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeFissionRateTally constructor calls the IsotopeTally constructor and Tally constructors and set...
Definition: Tally.h:1093
void tally(neutron *neutron)
Tally the region transport rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3552
void tally(neutron *neutron)
Tally the isotope capture rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3412
enum triggerTypes triggerType
The type of precision trigger for a tally object.
Definition: Tally.h:77
void tally(neutron *neutron)
Tally the geometry fission rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3508
GeometryFluxTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryFluxTally constructor calls the GeometryTally constructor and Tally constructors and sets the...
Definition: Tally.h:1509
void tally(neutron *neutron)
Tally the material collision rate by incrementing the tally by 1.0 at the neutron's energy...
Definition: Tally.cpp:3153
Definition: Tally.h:107
char * getTallyName()
Returns the name of the tally.
Definition: Tally.cpp:76
IsotopeTransportRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeTransportRateTally constructor calls the IsotopeTally constructor and Tally constructors and s...
Definition: Tally.h:1191
A class for tallying the collision rate within the geometry.
Definition: Tally.h:561
void tally(neutron *neutron)
Tally the geometry collision rate by incrementing the tally by 1.0 at the neutron's energy...
Definition: Tally.cpp:3175
DerivedTally * subtractDoubles(const double *amt, const int length)
Tally subtraction with an array of doubles.
Definition: Tally.cpp:2581
void tally(neutron *neutron)
Tally the geometry group-to-group scattering rate by incrementing the tally by at the neutron's ener...
Definition: Tally.cpp:3285
Region * getRegion()
Returns the region in which this tally resides.
Definition: Tally.h:438
An abstract class for tallies with REGION domain type.
Definition: Tally.h:416
void tally(neutron *neutron)
Tally the time between collisions by incrementing the tally with the travel time spent by this neutro...
Definition: Tally.cpp:3767
DerivedTally * multiplyIntegers(const int *amt, const int length)
Tally multiplication with an array of integers.
Definition: Tally.cpp:2628
IsotopeOutScatterRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeOutScatterRateTally constructor calls the IsotopeTally constructor and Tally constructors and ...
Definition: Tally.h:798
void setBinEdges(double *edges, int num_edges)
Set a user-defined double array of bin edge values.
Definition: Tally.cpp:721
A class for tallying the elastic scattering rate for an isotope.
Definition: Tally.h:591
void tally(neutron *neutron)
Tally the isotope outter scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3300
Definition: Tally.h:121
RegionFluxTally(Region *region, char *tally_name=(char *)"")
RegionFluxTally constructor calls the RegionTally constructor and Tally constructors and sets the tal...
Definition: Tally.h:1486
A class for tallying the collision rate within a region.
Definition: Tally.h:537
void tally(neutron *neutron)
Tally the geometry capture rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3452
bool hasExpandedGroupBins()
Returns whether or not the tally has expanded it's group bins.
Definition: Tally.cpp:439
tallyDomainType getTallyDomainType()
Returns the type of tally for these bins (ISOTOPE, MATERIAL, REGION).
Definition: Tally.cpp:169
IsotopeElasticRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeElasticRateTally constructor calls the IsotopeTally constructor and Tally constructors and set...
Definition: Tally.h:601
void tally(neutron *neutron)
Tally the isotope elastic scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3190
Definition: Tally.h:150
void incrementNumBatches(int num_batches)
Increments the number of batches for this tally.
Definition: Tally.cpp:822
double getBinDelta()
Returns the delta spacing between bins. NOTE: this value is only non-zero for EQUAL and LOGARITHMIC b...
Definition: Tally.cpp:129
double getMinTally()
Returns the maximum tally value among all bins and batches.
Definition: Tally.cpp:245
An abstract class for tallies with MATERIAL domain type.
Definition: Tally.h:452
Utility functions for writing log messages to the screen.
A class for tallying the transport rate within a region.
Definition: Tally.h:1228
void setGroupExpandBins(bool expand_bins)
Informs the tally whether or not to expand its group bins.
Definition: Tally.cpp:747
A class for tallying the time between collision with a material.
Definition: Tally.h:1527
RegionInterCollisionTimeTally(Region *region, char *tally_name=(char *)"")
RegionInterCollisionTimeTally constructor calls the RegionTally constructor and Tally constructors an...
Definition: Tally.h:1561
GeometryInterCollisionTimeTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryInterCollisionTimeTally constructor calls the GeometryTally constructor and Tally constructor...
Definition: Tally.h:1585
RegionFissionRateTally(Region *region, char *tally_name=(char *)"")
RegionFissionRateTally constructor calls the RegionTally constructor and Tally constructors and sets ...
Definition: Tally.h:1140
A class for tallying the capture rate for an isotope.
Definition: Tally.h:1153
A class for tallying the collision rate for an isotope.
Definition: Tally.h:489
tallyType _tally_type
Definition: Tally.h:194
enum tallyDomainTypes tallyDomainType
A domain type within which a tally may reside.
DerivedTally * operator-(Tally *tally)
Tally subtraction operator.
Definition: Tally.cpp:1552
tallyDomainTypes
The types of domains in which tally may reside.
Definition: Tally.h:45
DerivedTally * divideDoubles(const double *amt, const int length)
Tally division with an array of doubles.
Definition: Tally.cpp:2920
void setBinSpacingType(binSpacingType type)
Set the bin spacing type for this Tally (EQUAL, LOGARITHMIC, OTHER).
Definition: Tally.cpp:681
A class for tallying the capture rate within a material.
Definition: Tally.h:1106
void tally(neutron *neutron)
Tally the isotope collision rate by incrementing the tally by 1.0 at the neutron's energy...
Definition: Tally.cpp:3139
void tally(neutron *neutron)
Tally the material diffusion rate by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3596
Definition: Tally.h:115
void generateBinEdges(double start, double end, int num_bins, binSpacingType type)
Generate edges between bins defined by a start and end point.
Definition: Tally.cpp:852
DerivedTally * tile(const int num_tiles)
Create a DerivedTally with this tally's data repetively "tiled".
Definition: Tally.cpp:1906
void setTallyName(char *tally_name)
Sets the tally name.
Definition: Tally.cpp:3794
void generateBinCenters()
Compute the center points between bin edges for this Tally's bins.
Definition: Tally.cpp:897
void tally(neutron *neutron)
Tally the geomety flux by incrementing the tally by at the neutron's energy.
Definition: Tally.cpp:3711
RegionLeakageRateTally(Region *region, char *tally_name=(char *)"")
RegionLeakageRateTally constructor calls the RegionTally constructor and Tally constructors and sets ...
Definition: Tally.h:1412
IsotopeAbsorptionRateTally(Isotope *isotope, char *tally_name=(char *)"")
IsotopeAbsorptionRateTally constructor calls the IsotopeTally constructor and Tally constructors and ...
Definition: Tally.h:894
GeometryCaptureRateTally(Geometry *geometry, char *tally_name=(char *)"")
GeometryCaptureRateTally constructor calls the GeometryTally constructor and Tally constructors and s...
Definition: Tally.h:1064
void tally(neutron *neutron)
Tally the isotope group-to-group scattering rate by incrementing the tally by at the neutron's energ...
Definition: Tally.cpp:3245
A class for tallying the group-to-group scattering rate within a material.
Definition: Tally.h:712
bool _group_expand_bins
Definition: Tally.h:213
Definition: Tally.h:113
void tally(neutron *neutron)
Tally the material elastic scattering rate by incrementing the tally by at the neutron's energy...
Definition: Tally.cpp:3204