EGSnrc C++ class library  Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
Public Member Functions | Protected Attributes | List of all members
EGS_VoxelizedShape Class Reference

A "voxelized shape". More...

#include <egs_voxelized_shape.h>

Inheritance diagram for EGS_VoxelizedShape:
EGS_BaseShape EGS_Object

Public Member Functions

 EGS_VoxelizedShape (int file_format, const char *fname, const string &Name="", EGS_ObjectFactory *f=0)
 Conctructor. More...
 
void EGS_VoxelizedShapeFormat0 (const char *fname, const string &Name="", EGS_ObjectFactory *f=0)
 
EGS_Vector getPoint (EGS_RandomGenerator *rndm)
 
bool isValid () const
 
- Public Member Functions inherited from EGS_BaseShape
 EGS_BaseShape (const string &Name="", EGS_ObjectFactory *f=0)
 Construct a shape named Name.
 
virtual ~EGS_BaseShape ()
 Destructor. Deletes T if it is not null.
 
virtual EGS_Vector getRandomPoint (EGS_RandomGenerator *rndm)
 Returns a random 3D vector. More...
 
void setTransformation (EGS_Input *inp)
 Set the transformation attached to this shape. More...
 
void setTransformation (EGS_AffineTransform *t)
 Set the transformation attached to this shape. More...
 
const EGS_AffineTransformgetTransform () const
 Get a pointer to the affine transformation attached to this shape.
 
virtual bool supportsDirectionMethod () const
 
virtual void getPointSourceDirection (const EGS_Vector &xo, EGS_RandomGenerator *rndm, EGS_Vector &u, EGS_Float &wt)
 
virtual EGS_Float area () const
 
- Public Member Functions inherited from EGS_Object
 EGS_Object (const string &Name="", EGS_ObjectFactory *f=0)
 Create an EGS_Object named Name belonging to the object factory f. More...
 
 EGS_Object (EGS_Input *inp, EGS_ObjectFactory *f=0)
 Create an EGS_Object from the information pointed to by inp that belongs to object factory f. More...
 
const string & getObjectName () const
 Get the object name.
 
void setObjectName (const string &Name)
 Set the object name to Name.
 
const string & getObjectType () const
 Get the object type.
 
virtual EGS_ObjectcreateObject (EGS_Input *inp)
 Create an object from the infromation pointed to by inp. More...
 
void setName (EGS_Input *inp)
 Set the name of the object from the information provided by inp. More...
 
int ref ()
 Increase the reference count to this object.
 
int deref ()
 Decrease the reference count to this object.
 
void setFactory (EGS_ObjectFactory *f)
 Set the factory to which the object belongs. More...
 

Protected Attributes

EGS_SimpleAliasTableprob
 
EGS_Float * xpos
 ! The alias table for randomly picking voxels
 
EGS_Float * ypos
 ! The x-positions of the grid
 
EGS_Float * zpos
 ! The y-positions of the grid
 
int * map
 ! The z-positions of the grid
 
int nx
 ! Voxel map (for type=1)
 
int ny
 
int nz
 
int nxy
 
int nreg
 
int type
 
- Protected Attributes inherited from EGS_BaseShape
EGS_AffineTransformT
 The affine transformation attached to the shape.
 
- Protected Attributes inherited from EGS_Object
string name
 The object name.
 
string otype
 The object type.
 
int nref
 Number of references to the object.
 
EGS_ObjectFactoryfactory
 The factory this object belongs to.
 

Additional Inherited Members

- Static Public Member Functions inherited from EGS_BaseShape
static EGS_BaseShapecreateShape (EGS_Input *inp)
 Create a shape from the information pointed to by inp. More...
 
static EGS_BaseShapegetShape (const string &Name)
 Get a pointer to the shape named Name. More...
 
- Static Public Member Functions inherited from EGS_Object
static string getUniqueName (const EGS_Object *o=0)
 Create and return a unique object name. More...
 
static void deleteObject (EGS_Object *o)
 Delete an object. More...
 

Detailed Description

A "voxelized shape".

A shape of this type can be used to pick points randomly within a XYZ grid where each voxel has a given probability to be selected. This is useful, for instance, to model a radioactivity distribution. This shape is specified via

:start shape:
    library = egs_voxelized_shape
    file name = some_file
:stop shape:

The some_file file must be a binary file containing the following information:

Definition at line 97 of file egs_voxelized_shape.h.

Constructor & Destructor Documentation

EGS_VoxelizedShape::EGS_VoxelizedShape ( int  file_format,
const char *  fname,
const string &  Name = "",
EGS_ObjectFactory f = 0 
)

Conctructor.

Construct a voxelized shape from the data provided in the binary file fname

Definition at line 180 of file egs_voxelized_shape.cpp.

References egsFatal, egsInformation, egsWarning, loopMax, nx, EGS_Object::otype, xpos, ypos, and zpos.


The documentation for this class was generated from the following files: