Cardinal
HexagonalSubchannelBin.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 #include "HexagonalLatticeUtils.h"
23 
29 {
30 public:
31  static InputParameters validParams();
32 
33  HexagonalSubchannelBin(const InputParameters & parameters);
34 
35  virtual unsigned int bin(const Point & p) const override;
36 
37  virtual unsigned int num_bins() const override;
38 
39 protected:
41  const Real & _bundle_pitch;
42 
44  const Real & _pin_pitch;
45 
47  const Real & _pin_diameter;
48 
50  const unsigned int & _n_rings;
51 
53  const unsigned int _axis;
54 
56  const bool & _pin_centered_bins;
57 
59  std::unique_ptr<HexagonalLatticeUtils> _hex_lattice;
60 };
Definition: SpatialBinUserObject.h:26
HexagonalSubchannelBin(const InputParameters &parameters)
Definition: HexagonalSubchannelBin.C:48
static InputParameters validParams()
Definition: HexagonalSubchannelBin.C:24
Definition: HexagonalSubchannelBin.h:28
virtual unsigned int bin(const Point &p) const override
Definition: HexagonalSubchannelBin.C:113
const Real & _bundle_pitch
Bundle pitch.
Definition: HexagonalSubchannelBin.h:41
const unsigned int _axis
Vertical axis of the bundle along which the pins are aligned.
Definition: HexagonalSubchannelBin.h:53
const Real & _pin_diameter
Pin diameter.
Definition: HexagonalSubchannelBin.h:47
const bool & _pin_centered_bins
Whether the bins should be pin-centered (as opposed to channel-centered)
Definition: HexagonalSubchannelBin.h:56
const Real & _pin_pitch
Pin pitch.
Definition: HexagonalSubchannelBin.h:44
const unsigned int & _n_rings
Total number of rings of pins.
Definition: HexagonalSubchannelBin.h:50
std::unique_ptr< HexagonalLatticeUtils > _hex_lattice
Underlying utility providing hexagonal lattice capabilities.
Definition: HexagonalSubchannelBin.h:59
virtual unsigned int num_bins() const override
Definition: HexagonalSubchannelBin.C:122