Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
Heed::sh_manip_box Class Reference

#include <box.h>

+ Inheritance diagram for Heed::sh_manip_box:

Public Member Functions

 sh_manip_box ()
 Constructor.
 
 sh_manip_box (const box &f)
 
 sh_manip_box (const abssyscoor &fcsys, const box &fbx)
 
virtual ~sh_manip_box ()
 Destructor.
 
absvolGavol () const override
 Get the volume.
 
void chname (char *nm) const override
 
void print (std::ostream &file, int l) const override
 
sh_manip_boxcopy () const override
 
- Public Member Functions inherited from Heed::sh_manip_absvol
virtual const abssyscoorGasc () const override
 Get the coordinate system.
 
void Psc (const fixsyscoor &fcsys)
 
 sh_manip_absvol ()
 
 sh_manip_absvol (sh_manip_absvol &f)
 
 sh_manip_absvol (const sh_manip_absvol &f)
 
 sh_manip_absvol (const abssyscoor &f)
 
 sh_manip_absvol (const point &fc, const basis &fbas, const std::string &fname)
 
virtual ~sh_manip_absvol ()
 
virtual void m_chname (char *nm) const
 
virtual void m_print (std::ostream &file, int l) const override
 
sh_manip_absvolcopy () const
 
- Public Member Functions inherited from Heed::manip_absvol
virtual absvolGavol () const =0
 Get the volume.
 
virtual const abssyscoorGasc () const
 Get the coordinate system.
 
virtual int m_check_point_inside (const point &fpt, const vec &dir) const
 
virtual int m_find_embed_vol (const point &fpt, const vec &fdir, manip_absvol_treeid *atid) const
 
virtual int m_range (trajestep &fts, int s_ext, int &sb, manip_absvol *&faeid) const
 
virtual int m_range_ext (trajestep &fts, int s_ext) const
 
void down_absref (absref *f) const
 
void up_absref (absref *f) const
 
void m_chname (char *nm) const
 
virtual void m_print (std::ostream &file, int l) const
 
manip_absvolcopy () const
 
virtual ~manip_absvol ()
 
- 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::box
 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 ()
 
int check_point_inside (const point &fpt, const vec &dir) const override
 
int range_ext (trajestep &fts, int s_ext) const override
 Range till exit from given volume or to entry only.
 
void income (gparticle *gp) override
 
void chname (char *nm) const override
 
void print (std::ostream &file, int l) const override
 
boxcopy () const override
 
- 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, 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 absvolcopy () const
 
virtual std::vector< manip_absvol * > Gamanip_embed () const
 

Protected Member Functions

absref_transmit get_components () override
 
virtual absref_transmit get_components () override
 
absref_transmit get_components () override
 

Additional Inherited Members

- Public Attributes inherited from Heed::box
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 Attributes inherited from Heed::sh_manip_absvol
fixsyscoor csys
 
absrefaref_ptr [1]
 

Detailed Description

Definition at line 79 of file box.h.

Constructor & Destructor Documentation

◆ sh_manip_box() [1/3]

Heed::sh_manip_box::sh_manip_box ( )
inline

Constructor.

Definition at line 82 of file box.h.

82: sh_manip_absvol(), box() {}
box()
Default constructor.
Definition: box.cpp:26

Referenced by copy().

◆ sh_manip_box() [2/3]

Heed::sh_manip_box::sh_manip_box ( const box f)
inline

Definition at line 83 of file box.h.

83: sh_manip_absvol(), box(f) {}

◆ sh_manip_box() [3/3]

Heed::sh_manip_box::sh_manip_box ( const abssyscoor fcsys,
const box fbx 
)
inline

Definition at line 84 of file box.h.

85 : sh_manip_absvol(fcsys), box(fbx) {}

◆ ~sh_manip_box()

virtual Heed::sh_manip_box::~sh_manip_box ( )
inlinevirtual

Destructor.

Definition at line 87 of file box.h.

87{}

Member Function Documentation

◆ chname()

void Heed::sh_manip_box::chname ( char *  nm) const
overridevirtual

Reimplemented from Heed::box.

Definition at line 305 of file box.cpp.

305 {
306 strcpy(nm, "sh_manip_box: ");
307 strcat(nm, m_name.c_str());
308}
std::string m_name
Definition: box.h:30

Referenced by print().

◆ copy()

sh_manip_box * Heed::sh_manip_box::copy ( ) const
overridevirtual

Reimplemented from Heed::box.

Definition at line 304 of file box.cpp.

304{ return new sh_manip_box(*this); }
sh_manip_box()
Constructor.
Definition: box.h:82

◆ Gavol()

absvol * Heed::sh_manip_box::Gavol ( ) const
overridevirtual

Get the volume.

Implements Heed::manip_absvol.

Definition at line 296 of file box.cpp.

296 {
297 return dynamic_cast<box*>(const_cast<sh_manip_box*>(this));
298}

◆ get_components()

absref_transmit Heed::sh_manip_box::get_components ( )
overrideprotectedvirtual

Reimplemented from Heed::box.

Definition at line 300 of file box.cpp.

300 {
302}
virtual absref_transmit get_components() override
Definition: volume.cpp:258

◆ print()

void Heed::sh_manip_box::print ( std::ostream &  file,
int  l 
) const
overridevirtual

Reimplemented from Heed::box.

Definition at line 310 of file box.cpp.

310 {
311 if (l <= 0) return;
312 char s[1000];
313 chname(s);
314 Ifile << "sh_manip_box::print(l=" << l << "): " << s << '\n';
315 l = l - 1;
316 if (l > 0) {
317 indn.n += 2;
318 csys.print(file, l);
319 box::print(file, l);
320 indn.n -= 2;
321 }
322 file.flush();
323}
void print(std::ostream &file, int l) const override
Definition: box.cpp:227
void print(std::ostream &file, int l) const override
Definition: vec.cpp:480
fixsyscoor csys
Definition: volume.h:168
void chname(char *nm) const override
Definition: box.cpp:305
indentation indn
Definition: prstream.cpp:15
#define Ifile
Definition: prstream.h:196

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