Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
GIDI_reference1d.cc
Go to the documentation of this file.
1/*
2# <<BEGIN-copyright>>
3# Copyright 2019, Lawrence Livermore National Security, LLC.
4# This file is part of the gidiplus package (https://github.com/LLNL/gidiplus).
5# gidiplus is licensed under the MIT license (see https://opensource.org/licenses/MIT).
6# SPDX-License-Identifier: MIT
7# <<END-copyright>>
8*/
9
10#include "GIDI.hpp"
11#include <HAPI.hpp>
12
13namespace GIDI {
14
15namespace Functions {
16
17/*! \class Reference1d
18 * Class for the GNDS <**reference**> node.
19 */
20
21/* *********************************************************************************************************//**
22 *
23 * @param a_construction [in] Used to pass user options to the constructor.
24 * @param a_node [in] The **HAPI::Node** to be parsed and used to construct the XYs2d.
25 * @param a_setupInfo [in] Information create my the Protare constructor to help in parsing.
26 * @param a_parent [in] The parent GIDI::Suite.
27 ***********************************************************************************************************/
28
29Reference1d::Reference1d( Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *a_parent ) :
30 Function1dForm( a_construction, a_node, a_setupInfo, FormType::reference1d, a_parent ),
31 m_xlink( a_node.attribute_as_string( GIDI_hrefChars ) ) {
32
33}
34
35/* *********************************************************************************************************//**
36 ***********************************************************************************************************/
37
41
42/* *********************************************************************************************************//**
43 * Returns the domain minimum for the instance.
44 *
45 * @return The domain minimum for the instance.
46 ***********************************************************************************************************/
47
48double Reference1d::domainMin( ) const {
49
50 throw Exception( "Reference1d::domainMin: not implemented" );
51}
52
53/* *********************************************************************************************************//**
54 * Returns the domain maximum for the instance.
55 *
56 * @return The domain maximum for the instance.
57 ***********************************************************************************************************/
58
59double Reference1d::domainMax( ) const {
60
61 throw Exception( "Reference1d::domainMax: not implemented" );
62}
63
64/* *********************************************************************************************************//**
65 * The **y** value of this at the domain value **a_x1**.
66 * Currently not implemented.
67 *
68 * @param a_x1 [in] Domain value to evaluate this at.
69 * @return The value of this at the domain value **a_x1**.
70 ***********************************************************************************************************/
71
72
73double Reference1d::evaluate( LUPI_maybeUnused double a_x1 ) const {
74
75 throw Exception( "Reference1d::evaluate: not implemented" );
76}
77
78/* *********************************************************************************************************//**
79 * Fills the argument *a_writeInfo* with the XML lines that represent *this*. Recursively enters each sub-node.
80 *
81 * @param a_writeInfo [in/out] Instance containing incremental indentation and other information and stores the appended lines.
82 * @param a_indent [in] The amount to indent *this* node.
83 ***********************************************************************************************************/
84
85void Reference1d::toXMLList( GUPI::WriteInfo &a_writeInfo, std::string const &a_indent ) const {
86
87 std::string attributes;
88
89 attributes += a_writeInfo.addAttribute( GIDI_labelChars, label( ) );
90 attributes += a_writeInfo.addAttribute( GIDI_hrefChars, m_xlink );
91 a_writeInfo.addNodeStarterEnder( a_indent, moniker( ), attributes );
92}
93
94} // End namespace Functions.
95
96} // End namespace GIDI.
#define GIDI_hrefChars
Definition GIDI.hpp:440
#define GIDI_labelChars
Definition GIDI.hpp:438
#define LUPI_maybeUnused
std::string const & label() const
Definition GIDI.hpp:658
Function1dForm(std::string const &a_moniker, FormType a_type, ptwXY_interpolation a_interpolation, int a_index, double a_outerDomainValue)
Definition GIDI_form.cc:348
Reference1d(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *a_parent)
double evaluate(double a_x1) const
void toXMLList(GUPI::WriteInfo &a_writeInfo, std::string const &a_indent) const
std::string const & moniker() const
Definition GUPI.hpp:102
void addNodeStarterEnder(std::string const &indent, std::string const &a_moniker, std::string const &a_attributes="")
Definition GUPI.hpp:57
std::string addAttribute(std::string const &a_name, std::string const &a_value) const
Definition GUPI.hpp:60
Definition GIDI.hpp:32
FormType
Definition GIDI.hpp:118