The Surface represents a quadratic surface in the xy-plane.
More...
#include "pinspec/src/Surface.h"
The Surface represents a quadratic surface in the xy-plane.
The Surface is an abstract class with stub for the function calls needed to trace rays across a 2D geometry. Each surface type to be used in a simulation is a subclass of the Surface class
Surface::Surface |
( |
const char * |
surface_name = (char*)"" | ) |
|
Surface class constructor.
- Parameters
-
surface_name | the (optional) name of the surface |
By default, the constructor sets the surface boundary conditions to vacuum.
virtual float Surface::computeParametrizedDistance |
( |
neutron * |
neutron | ) |
|
|
pure virtual |
Computes the parametrized distance between a neutron at some location with some trajectory and this surface.
This virtual class method must be implemented for each surface type to be used in a PINSPEC simulation.
- Parameters
-
neutron | the neutron of interest |
Implemented in ZCylinder, YPlane, and XPlane.
virtual float Surface::evaluate |
( |
neutron * |
neutron | ) |
|
|
pure virtual |
Returns the evaluation of a neutron's coordinates
with respect to a quadratic surface
.
- Parameters
-
neutron | the neutron of interest |
Implemented in ZCylinder, YPlane, and XPlane.
virtual float Surface::evaluate |
( |
float |
x, |
|
|
float |
y, |
|
|
float |
z |
|
) |
| |
|
pure virtual |
Returns the evaluation of a neutron's coordinates
with respect to a quadratic surface
.
- Parameters
-
x | the x-coordinate of interest |
y | the y-coordinate of interest |
z | the z-coordinate of interest |
Implemented in ZCylinder, YPlane, and XPlane.
Returns this surface's boundary type.
Returns the surface's boundary type which can be REFLECTIVE, VACUUM, or INTERFACE.
- Returns
- Surface boundary type
char * Surface::getSurfaceName |
( |
| ) |
|
Return the name of the surface.
- Returns
- a character array representing this surface's name
Returns this surface's type (XPLANE, YPLANE, CIRCLE, etc.)
- Returns
- Surface type
int Surface::getUid |
( |
| ) |
const |
Returns the unique ID auto-generated for the surface.
- Returns
- a unique ID for the surface
virtual bool Surface::onSurface |
( |
neutron * |
neutron | ) |
|
|
pure virtual |
Determines whether or not a neutron at some location is on the surface.
This virtual class method must be implemented for each surface type to be used in a PINSPEC simulation.
- Parameters
-
neutron | the neutron of interest |
Implemented in ZCylinder, YPlane, and XPlane.
virtual void Surface::reflectNeutron |
( |
neutron * |
neutron | ) |
|
|
pure virtual |
Perfectly reflects a neutron at the surface for REFLECTIVE boundary conditions.
This virtual class method must be implemented for each surface type to be used in a PINSPEC simulation.
- Parameters
-
neutron | the neutron of interest |
Implemented in ZCylinder, YPlane, and XPlane.
Sets the boundary type for this Surface.
Sets the Surface's boundary type which can be REFLECTIVE, VACUUM, or INTERFACE).
- Parameters
-
The boundary condition for this Surface
A static class variable to generate a UID for each new surface
char* Surface::_surface_name |
|
protected |
The surface's unique identifier
The documentation for this class was generated from the following files:
- pinspec/src/Surface.h
- pinspec/src/Surface.cpp