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_ulsvolume Class Reference

#include <surface.h>

+ Inheritance diagram for Heed::manip_ulsvolume:

Public Member Functions

 manip_ulsvolume ()
 
 manip_ulsvolume (const manip_ulsvolume &f)
 
 manip_ulsvolume (const ulsvolume &f)
 
virtual ~manip_ulsvolume ()
 Destructor.
 
virtual absvolGavol () const
 Get the volume.
 
virtual void chname (char *nm) const
 
virtual void print (std::ostream &file, int l) const
 
virtual manip_ulsvolumecopy () 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::ulsvolume
 ulsvolume ()
 Default constructor.
 
 ulsvolume (const std::vector< std::shared_ptr< surface > > &fsurf, char *fname, vfloat fprec)
 Constructor from surfaces.
 
 ulsvolume (ulsvolume &f)
 
 ulsvolume (const ulsvolume &fv)
 
virtual ~ulsvolume ()
 Destructor.
 
int check_point_inside (const point &fpt, const vec &dir) const override
 
int range_ext (trajestep &fts, int s_ext) const override
 
void ulsvolume_init (const std::vector< std::shared_ptr< surface > > &fsurf, const std::string &fname, vfloat fprec)
 
void income (gparticle *) override
 
void chname (char *nm) const override
 
void print (std::ostream &file, int l) const override
 
ulsvolumecopy () 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::ulsvolume
int qsurf = 0
 
std::array< std::shared_ptr< surface >, pqqsurfsurf
 
std::string name = "non-initialized ulsvolume"
 
- Public Attributes inherited from Heed::absvol
vfloat prec
 
bool s_sensitive
 
- Static Public Attributes inherited from Heed::ulsvolume
static constexpr int pqqsurf = 10
 
- Protected Member Functions inherited from Heed::ulsvolume
absref_transmit get_components () override
 
- Protected Attributes inherited from Heed::ulsvolume
surfaceadrsurf [pqqsurf]
 

Detailed Description

Definition at line 182 of file surface.h.

Constructor & Destructor Documentation

◆ manip_ulsvolume() [1/3]

Heed::manip_ulsvolume::manip_ulsvolume ( )
inline

Definition at line 184 of file surface.h.

184: manip_absvol(), ulsvolume() {}
ulsvolume()
Default constructor.
Definition: surface.h:156

Referenced by copy().

◆ manip_ulsvolume() [2/3]

Heed::manip_ulsvolume::manip_ulsvolume ( const manip_ulsvolume f)

Definition at line 394 of file surface.cpp.

395 : absref(f), manip_absvol(f), ulsvolume(f) {}

◆ manip_ulsvolume() [3/3]

Heed::manip_ulsvolume::manip_ulsvolume ( const ulsvolume f)
inline

Definition at line 186 of file surface.h.

186: manip_absvol(), ulsvolume(f) {}

◆ ~manip_ulsvolume()

virtual Heed::manip_ulsvolume::~manip_ulsvolume ( )
inlinevirtual

Destructor.

Definition at line 188 of file surface.h.

188{}

Member Function Documentation

◆ chname()

virtual void Heed::manip_ulsvolume::chname ( char *  nm) const
inlinevirtual

Reimplemented from Heed::ulsvolume.

Definition at line 191 of file surface.h.

191 {
192 strcpy(nm, "manip_ulsvolume: ");
193 strcat(nm, name.c_str());
194 }
std::string name
Definition: surface.h:146

Referenced by print().

◆ copy()

virtual manip_ulsvolume * Heed::manip_ulsvolume::copy ( ) const
inlinevirtual

Reimplemented from Heed::ulsvolume.

Definition at line 196 of file surface.h.

196{ return new manip_ulsvolume(*this); }

◆ Gavol()

virtual absvol * Heed::manip_ulsvolume::Gavol ( ) const
inlinevirtual

Get the volume.

Implements Heed::manip_absvol.

Definition at line 190 of file surface.h.

190{ return (ulsvolume*)this; }

◆ print()

void Heed::manip_ulsvolume::print ( std::ostream &  file,
int  l 
) const
virtual

Reimplemented from Heed::ulsvolume.

Definition at line 397 of file surface.cpp.

397 {
398 if (l <= 0) return;
399 char s[1000];
400 chname(s);
401 Ifile << "manip_ulsvolume::print(l=" << l << "): " << s << '\n';
402 l = l - 1;
403 if (l > 0) {
404 indn.n += 2;
405 // If to call this it calls manip_ulsvolume::print again and loop...
406 ulsvolume::print(file, l - 1);
407 indn.n -= 2;
408 }
409}
virtual void chname(char *nm) const
Definition: surface.h:191
void print(std::ostream &file, int l) const override
Definition: surface.cpp:372
indentation indn
Definition: prstream.cpp:15
#define Ifile
Definition: prstream.h:195

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