https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
21public:
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
34protected:
35 virtual void modifyRays() override;
36
37 const std::size_t _data_size;
38 const std::size_t _aux_data_size;
39
40private:
41 std::vector<RayDataIndex> _data_indices;
42 std::vector<RayDataIndex> _aux_data_indices;
43 std::vector<RayDataIndex> _actual_start_indices;
44};
float RayData
Type for a Ray's data.
Definition Ray.h:47
A RayTracingStudy used for generating a lot of rays for testing purposes.
const InputParameters & parameters() const
Basic datastructure for a ray that will traverse the mesh.
Definition Ray.h:58
Test Ray study that generates a lot of Rays and sets data/aux data with a predictable pattern in conj...
std::vector< RayDataIndex > _aux_data_indices
RayData dataValueChange(const unsigned int i, const Real distance) const
std::vector< RayDataIndex > _actual_start_indices
const std::size_t _aux_data_size
virtual void onCompleteRay(const std::shared_ptr< Ray > &ray) override
Entry point for acting on a ray when it is completed (shouldContinue() == false)
RayData dataValue(const unsigned int i, const Ray &ray) const
static InputParameters validParams()
const std::vector< RayDataIndex > & dataIndices() const
const std::size_t _data_size
std::vector< RayDataIndex > _data_indices
virtual void modifyRays() override
Insertion point for after _rays is defined for other derived test studies to modify the Rays.
RayData auxDataValue(const unsigned int i, const Ray &ray) const
Real distance(const Point &p)