19 #ifndef __stir_Shape_EllipsoidalCylinder_h__ 20 #define __stir_Shape_EllipsoidalCylinder_h__ 97 Shape3D* clone()
const override;
103 bool operator==(
const Shape3D& shape)
const override;
106 float get_geometric_volume()
const override;
108 float get_geometric_area()
const;
114 inline float get_length()
const 118 inline float get_radius_x()
const 122 inline float get_radius_y()
const 127 void set_length(
const float);
128 void set_radius_x(
const float);
129 void set_radius_y(
const float);
145 void set_defaults()
override;
146 void initialise_keymap()
override;
147 bool post_processing()
override;
Declaration of class stir::Shape3DWithOrientation.
float radius_x
Radius in x-direction if the shape is not rotated.
Definition: EllipsoidalCylinder.h:135
float theta_2
final theta if the shape is not rotated (in degrees)
Definition: EllipsoidalCylinder.h:141
Array< 2, elemT > diagonal_matrix(const unsigned dimension, const elemT value)
construct a diagonal matrix with all elements on the diagonal equal
Definition: MatrixFunction.inl:182
The base class for all 3 dimensional shapes.
Definition: Shape3D.h:65
float theta_1
initial theta if the shape is not rotated (in degrees)
Definition: EllipsoidalCylinder.h:139
static const char *const registered_name
Name which will be used when parsing a Shape3D object.
Definition: EllipsoidalCylinder.h:72
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
Three-dimensional ellipsoidal cylinder.
Definition: EllipsoidalCylinder.h:67
float radius_y
Radius in y-direction if the shape is not rotated.
Definition: EllipsoidalCylinder.h:137
float length
Length of the cylinder.
Definition: EllipsoidalCylinder.h:133
Declaration of class stir::RegisteredParsingObject.