Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <box.h>
Public Member Functions | |
box () | |
Default constructor. | |
box (vfloat fdx, vfloat fdy, vfloat fdz, const std::string &fname) | |
box (vfloat fdx, vfloat fdy, vfloat fdz, vfloat fprec, const std::string &fname) | |
Constructor with user-provided precision. | |
box (box &fb) | |
box (const box &fb) | |
virtual | ~box () |
Destructor. | |
void | init_prec () |
void | init_planes () |
virtual int | check_point_inside (const point &fpt, const vec &dir) const |
virtual int | range_ext (trajestep &fts, int s_ext) const |
Range till exit from given volume or to entry only. | |
virtual void | income (gparticle *gp) |
virtual void | chname (char *nm) const |
virtual void | print (std::ostream &file, int l) const |
virtual box * | copy () const |
Public Member Functions inherited from Heed::absvol | |
virtual | ~absvol () |
Destructor. | |
virtual int | check_point_inside (const point &fpt, const vec &dir) const =0 |
virtual int | find_embed_vol (const point &fpt, const vec &dir, manip_absvol_treeid *atid) const |
virtual int | range (trajestep &fts, int s_ext, int &sb, PassivePtr< manip_absvol > &faeid) const |
virtual int | range_ext (trajestep &fts, int s_ext) const =0 |
virtual void | income (gparticle *) |
virtual void | chname (char *nm) const |
virtual void | print (std::ostream &file, int l) const |
virtual absvol * | copy () const |
virtual std::vector< manip_absvol * > | Gamanip_embed () const |
Public Member Functions inherited from Heed::absref | |
virtual | ~absref () |
Destructor. | |
virtual void | down (const abssyscoor *fasc) |
Convert numbering representation of object to basical system of fasc. | |
virtual void | up (const abssyscoor *fasc) |
Convert numbering representation of objects to new system. | |
virtual void | turn (const vec &dir, vfloat angle) |
Turn around axis doing via center of coordinate system along dir. | |
virtual void | shift (const vec &dir) |
Public Member Functions inherited from Heed::RegPassivePtr | |
RegPassivePtr (void) | |
RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0) | |
RegPassivePtr (const RegPassivePtr &f) | |
RegPassivePtr & | operator= (const RegPassivePtr &f) |
CountPP_ns::CountPassivePtr * | book (void) const |
void | clear_pointers (void) const |
virtual RegPassivePtr * | copy () const |
virtual | ~RegPassivePtr () |
virtual void | print (std::ostream &file, int l=1) const |
void | set_s_ban_del (char fs_ban_del) |
char | get_s_ban_del (void) const |
void | set_s_ban_sub (char fs_ban_sub) |
char | get_s_ban_sub (void) const |
void | set_s_ban_cop (char fs_ban_cop) |
char | get_s_ban_cop (void) const |
void | set_s_allow_del_at_zero_count (char fs_allow_del_at_zero_count) |
char | get_s_allow_del_at_zero_count (void) const |
long | get_total_number_of_references (void) const |
Public Attributes | |
vfloat | m_dx |
vfloat | m_dy |
vfloat | m_dz |
Lengths of sides. | |
vfloat | m_dxh |
vfloat | m_dyh |
vfloat | m_dzh |
Half-lengths of sides. | |
ulsvolume | m_ulsv |
std::string | m_name |
Public Attributes inherited from Heed::absvol | |
vfloat | prec |
bool | s_sensitive |
Protected Member Functions | |
virtual void | get_components (ActivePtr< absref_transmit > &aref_tran) |
Additional Inherited Members | |
Static Public Member Functions inherited from Heed::RegPassivePtr | |
static void | set_s_ban_del_ignore (char fs_ban_del_ignore) |
static char | get_s_ban_del_ignore (void) |
static void | set_s_print_adr_cpp (char fs_print_adr_cpp) |
static char | get_s_print_adr_cpp (void) |
Box (three-dimensional rectangle/rectangular parallelogram). The box is centred with respect to the centre of the coordinate system.
Heed::box::box | ( | ) |
Default constructor.
Definition at line 24 of file box.cpp.
Referenced by copy().
Constructor with user-provided precision.
Heed::box::box | ( | box & | fb | ) |
Heed::box::box | ( | const box & | fb | ) |
Check if a point is inside the volume. If two volumes are adjacent, it may happen that a point belongs to both. To avoid this confusion the parameter dir is used. If dir == (0, 0, 0), and the point is exactly on the border, the behaviour is in general not specified. If dir != (0, 0, 0), and the point is on the border with precision prec, the exiting volume is ignored.
Implements Heed::absvol.
Definition at line 103 of file box.cpp.
|
virtual |
Reimplemented from Heed::absvol.
Reimplemented in Heed::manip_box, and Heed::sh_manip_box.
Definition at line 259 of file box.cpp.
Referenced by print().
|
virtual |
Reimplemented from Heed::absvol.
Reimplemented in Garfield::HeedChamber, Heed::manip_box, and Heed::sh_manip_box.
Definition at line 256 of file box.cpp.
|
protectedvirtual |
Reimplemented from Heed::absref.
Reimplemented in Heed::sh_manip_box, and Garfield::HeedChamber.
|
virtual |
void Heed::box::init_planes | ( | ) |
Definition at line 89 of file box.cpp.
Referenced by box().
|
virtual |
Reimplemented from Heed::absvol.
Reimplemented in Heed::manip_box, and Heed::sh_manip_box.
Definition at line 221 of file box.cpp.
Referenced by check_point_inside(), Heed::manip_box::print(), and Heed::sh_manip_box::print().
|
virtual |
Range till exit from given volume or to entry only.
Implements Heed::absvol.
Definition at line 240 of file box.cpp.
vfloat Heed::box::m_dxh |
Definition at line 28 of file box.h.
Referenced by box(), check_point_inside(), init_planes(), init_prec(), print(), and range_ext().
vfloat Heed::box::m_dyh |
Definition at line 28 of file box.h.
Referenced by box(), check_point_inside(), init_planes(), init_prec(), print(), and range_ext().
vfloat Heed::box::m_dz |
vfloat Heed::box::m_dzh |
Half-lengths of sides.
Definition at line 28 of file box.h.
Referenced by box(), check_point_inside(), init_planes(), init_prec(), print(), and range_ext().
std::string Heed::box::m_name |
Definition at line 30 of file box.h.
Referenced by box(), chname(), Heed::manip_box::chname(), and Heed::sh_manip_box::chname().
ulsvolume Heed::box::m_ulsv |
Definition at line 29 of file box.h.
Referenced by init_planes(), print(), and range_ext().