Cardinal
LayeredBin.h
Go to the documentation of this file.
1 /********************************************************************/
2 /* SOFTWARE COPYRIGHT NOTIFICATION */
3 /* Cardinal */
4 /* */
5 /* (c) 2021 UChicago Argonne, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by UChicago Argonne, LLC */
9 /* Under Contract No. DE-AC02-06CH11357 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* Prepared by Battelle Energy Alliance, LLC */
13 /* Under Contract No. DE-AC07-05ID14517 */
14 /* With the U. S. Department of Energy */
15 /* */
16 /* See LICENSE for full restrictions */
17 /********************************************************************/
18 
19 #pragma once
20 
21 #include "SpatialBinUserObject.h"
22 
28 {
29 public:
30  static InputParameters validParams();
31 
32  LayeredBin(const InputParameters & parameters);
33 
34  virtual unsigned int bin(const Point & p) const override;
35 
36  virtual unsigned int num_bins() const override;
37 
38 protected:
40  const unsigned int _direction;
41 
43  const unsigned int & _num_layers;
44 
46  const SubProblem * _layered_subproblem;
47 
50 
53 
55  std::vector<Real> _layer_pts;
56 };
static InputParameters validParams()
Definition: LayeredBin.C:25
LayeredBin(const InputParameters &parameters)
Definition: LayeredBin.C:40
Definition: SpatialBinUserObject.h:26
Real _direction_max
Maxium coordinate in the direction.
Definition: LayeredBin.h:52
virtual unsigned int num_bins() const override
Definition: LayeredBin.C:74
const SubProblem * _layered_subproblem
Underlying problem.
Definition: LayeredBin.h:46
std::vector< Real > _layer_pts
Bounds of the 1-D layering.
Definition: LayeredBin.h:55
virtual unsigned int bin(const Point &p) const override
Definition: LayeredBin.C:67
const unsigned int & _num_layers
Number of equal-size layers.
Definition: LayeredBin.h:43
Definition: LayeredBin.h:27
Real _direction_min
Minimum coordinate in the direction.
Definition: LayeredBin.h:49
const unsigned int _direction
Direction of the bins (x, y, or z)
Definition: LayeredBin.h:40