https://mooseframework.inl.gov
TestRayDataStudy.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "LotsOfRaysRayStudy.h"
13 
20 {
21 public:
23 
25 
26  RayData dataValue(const unsigned int i, const Ray & ray) const;
27  RayData dataValueChange(const unsigned int i, const Real distance) const;
28  RayData auxDataValue(const unsigned int i, const Ray & ray) const;
29 
30  virtual void onCompleteRay(const std::shared_ptr<Ray> & ray) override;
31 
32  const std::vector<RayDataIndex> & dataIndices() const { return _data_indices; }
33 
34 protected:
35  virtual void modifyRays() override;
36 
37  const std::size_t _data_size;
38  const std::size_t _aux_data_size;
39 
40 private:
41  std::vector<RayDataIndex> _data_indices;
42  std::vector<RayDataIndex> _aux_data_indices;
43  std::vector<RayDataIndex> _actual_start_indices;
44 };
TestRayDataStudy(const InputParameters &parameters)
virtual void modifyRays() override
Insertion point for after _rays is defined for other derived test studies to modify the Rays...
RayData dataValueChange(const unsigned int i, const Real distance) const
const std::size_t _aux_data_size
const std::vector< RayDataIndex > & dataIndices() const
std::vector< RayDataIndex > _actual_start_indices
Real distance(const Point &p)
Test Ray study that generates a lot of Rays and sets data/aux data with a predictable pattern in conj...
virtual void onCompleteRay(const std::shared_ptr< Ray > &ray) override
Entry point for acting on a ray when it is completed (shouldContinue() == false)
std::vector< RayDataIndex > _data_indices
Basic datastructure for a ray that will traverse the mesh.
Definition: Ray.h:56
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
RayData auxDataValue(const unsigned int i, const Ray &ray) const
const InputParameters & parameters() const
const std::size_t _data_size
float RayData
Type for a Ray&#39;s data.
Definition: Ray.h:46
A RayTracingStudy used for generating a lot of rays for testing purposes.
RayData dataValue(const unsigned int i, const Ray &ray) const
std::vector< RayDataIndex > _aux_data_indices