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

Box "manipulator". More...

#include <box.h>

+ Inheritance diagram for Heed::manip_box:

Public Member Functions

 manip_box ()
 Constructor.
 
 manip_box (const box &f)
 
virtual ~manip_box ()
 Destructor.
 
absvolGavol () const override
 Get the volume.
 
void chname (char *nm) const override
 
void print (std::ostream &file, int l) const override
 
manip_boxcopy () const override
 
- 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
 

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 Member Functions inherited from Heed::box
absref_transmit get_components () override
 

Detailed Description

Box "manipulator".

Definition at line 63 of file box.h.

Constructor & Destructor Documentation

◆ manip_box() [1/2]

Heed::manip_box::manip_box ( )
inline

Constructor.

Definition at line 66 of file box.h.

66: manip_absvol(), box() {}
box()
Default constructor.
Definition: box.cpp:27

Referenced by copy().

◆ manip_box() [2/2]

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

Definition at line 67 of file box.h.

67: manip_absvol(), box(f) {}

◆ ~manip_box()

virtual Heed::manip_box::~manip_box ( )
inlinevirtual

Destructor.

Definition at line 69 of file box.h.

69{}

Member Function Documentation

◆ chname()

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

Reimplemented from Heed::box.

Definition at line 230 of file box.cpp.

230 {
231 strcpy(nm, "manip_box: ");
232 strcat(nm, m_name.c_str());
233}
std::string m_name
Definition: box.h:30

Referenced by print().

◆ copy()

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

Reimplemented from Heed::box.

Definition at line 229 of file box.cpp.

229{ return new manip_box(*this); }
manip_box()
Constructor.
Definition: box.h:66

◆ Gavol()

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

Get the volume.

Implements Heed::manip_absvol.

Definition at line 228 of file box.cpp.

228{ return (box*)this; }

◆ print()

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

Reimplemented from Heed::box.

Definition at line 235 of file box.cpp.

235 {
236 if (l <= 0) return;
237 char s[1000];
238 chname(s);
239 Ifile << "manip_box::print(l=" << l << "): " << s << '\n';
240 l = l - 1;
241 if (l > 0) {
242 indn.n += 2;
243 box::print(file, l);
244 indn.n -= 2;
245 }
246 file.flush();
247}
void print(std::ostream &file, int l) const override
Definition: box.cpp:183
void chname(char *nm) const override
Definition: box.cpp:230
indentation indn
Definition: prstream.cpp:15
#define Ifile
Definition: prstream.h:195

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