45 #ifndef EGS_CONICAL_SHELL_
46 #define EGS_CONICAL_SHELL_
56 #ifdef BUILD_CONICAL_SHELL_DLL
57 #define EGS_CONICAL_SHELL_EXPORT __declspec(dllexport)
59 #define EGS_CONICAL_SHELL_EXPORT __declspec(dllimport)
61 #define EGS_CONICAL_SHELL_LOCAL
65 #ifdef HAVE_VISIBILITY
66 #define EGS_CONICAL_SHELL_EXPORT __attribute__ ((visibility ("default")))
67 #define EGS_CONICAL_SHELL_LOCAL __attribute__ ((visibility ("hidden")))
69 #define EGS_CONICAL_SHELL_EXPORT
70 #define EGS_CONICAL_SHELL_LOCAL
180 EGS_Float ri_top, ro_top;
181 EGS_Float ri_bot, ro_bot;
183 EGS_Float o_slope, i_slope;
184 EGS_Float volume, vout, vcyl, vin;
187 EGS_Float ri_min, ri_max, ro_min, ro_max;
190 CSSSLayer(EGS_Float t, EGS_Float rit, EGS_Float rot, EGS_Float rib, EGS_Float rob, EGS_Float z);
200 EGS_Float getRoAtZ(EGS_Float z);
202 EGS_Float getRiAtZ(EGS_Float z);
217 for (
size_t i = 0; i < layers.size(); i++) {
229 EGS_Float
area()
const {
233 void addLayer(EGS_Float thick, EGS_Float ri_top, EGS_Float ro_top, EGS_Float ri_bot,EGS_Float ro_bot);
234 void addLayer(EGS_Float thick, EGS_Float ri_bot,EGS_Float ro_bot);
238 void setLayerSampler();
240 vector<CSSSLayer *> layers;
242 vector<EGS_Float> volumes;
243 vector<EGS_Float> cum_volumes;
247 EGS_Float surface_area;
248 EGS_Float total_thick;
EGS_AliasTable class header file.
A class representing 3D vectors.
Base shape class. All shapes in the EGSnrc C++ class library are derived from EGS_BaseShape.
virtual EGS_Vector getPoint(EGS_RandomGenerator *rndm)
Sample and return a random 3D vector.
Base random number generator class. All random number generators should be derived from this class...
virtual EGS_Float area() const
virtual bool supportsDirectionMethod() const
EGS_RandomGenerator class header file.
A class for sampling random bins from a given probability distribution using the alias table techniqu...
EGS_BaseShape and shape classes header file.
Attempts to fix broken math header files.