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::sh_manip_absvol Class Reference

#include <volume.h>

+ Inheritance diagram for Heed::sh_manip_absvol:

Public Member Functions

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)
 

Protected Member Functions

virtual absref_transmit get_components () override
 

Protected Attributes

fixsyscoor csys
 
absrefaref_ptr [1]
 

Detailed Description

Definition at line 166 of file volume.h.

Constructor & Destructor Documentation

◆ sh_manip_absvol() [1/5]

Heed::sh_manip_absvol::sh_manip_absvol ( )

Definition at line 264 of file volume.cpp.

264: csys() {}
fixsyscoor csys
Definition: volume.h:168

◆ sh_manip_absvol() [2/5]

Heed::sh_manip_absvol::sh_manip_absvol ( sh_manip_absvol f)

Definition at line 265 of file volume.cpp.

266 : absref(f), manip_absvol(f), csys(f.csys) {}

◆ sh_manip_absvol() [3/5]

Heed::sh_manip_absvol::sh_manip_absvol ( const sh_manip_absvol f)

Definition at line 267 of file volume.cpp.

268 : absref(f), manip_absvol(f), csys(f.csys) {}

◆ sh_manip_absvol() [4/5]

Heed::sh_manip_absvol::sh_manip_absvol ( const abssyscoor f)

Definition at line 269 of file volume.cpp.

269: csys(f) {}

◆ sh_manip_absvol() [5/5]

Heed::sh_manip_absvol::sh_manip_absvol ( const point fc,
const basis fbas,
const std::string &  fname 
)

Definition at line 271 of file volume.cpp.

273 : csys(fc, fbas, fname) {}

◆ ~sh_manip_absvol()

virtual Heed::sh_manip_absvol::~sh_manip_absvol ( )
inlinevirtual

Definition at line 184 of file volume.h.

184{}

Member Function Documentation

◆ copy()

sh_manip_absvol * Heed::sh_manip_absvol::copy ( ) const

Definition at line 280 of file volume.cpp.

280 {
281 mcerr << "sh_manip_absvol_copy() not defined\n";
282 spexit(mcerr);
283 return NULL;
284}
#define spexit(stream)
Definition: FunNameStack.h:256
#define mcerr
Definition: prstream.h:128

◆ Gasc()

const abssyscoor * Heed::sh_manip_absvol::Gasc ( ) const
overridevirtual

Get the coordinate system.

Reimplemented from Heed::manip_absvol.

Definition at line 262 of file volume.cpp.

262{ return &csys; }

◆ get_components()

absref_transmit Heed::sh_manip_absvol::get_components ( )
overrideprotectedvirtual

Reimplemented from Heed::absref.

Reimplemented in Garfield::HeedChamber, and Heed::sh_manip_box.

Definition at line 257 of file volume.cpp.

257 {
258 aref_ptr[0] = &csys;
259 return absref_transmit(1, aref_ptr);
260}
absref * aref_ptr[1]
Definition: volume.h:176

Referenced by Heed::sh_manip_box::get_components().

◆ m_chname()

void Heed::sh_manip_absvol::m_chname ( char *  nm) const
virtual

Definition at line 275 of file volume.cpp.

275 {
276 strcpy(nm, "mvol->");
277 Gavol()->chname(&nm[6]);
278}
virtual void chname(char *nm) const
Definition: volume.h:121
virtual absvol * Gavol() const =0
Get the volume.

Referenced by m_print().

◆ m_print()

void Heed::sh_manip_absvol::m_print ( std::ostream &  file,
int  l 
) const
overridevirtual

Reimplemented from Heed::manip_absvol.

Definition at line 286 of file volume.cpp.

286 {
287 if (l <= 0) return;
288 char s[1000];
289 m_chname(s);
290 Ifile << "sh_manip_absvol::m_print(l=" << l << "): " << s << '\n';
291 if (l > 1) {
292 indn.n += 2;
293 Ifile << "csys=" << noindent << csys;
294 absvol* avol = Gavol();
295 if (avol)
296 avol->print(file, l - 1);
297 else
298 mcout << "manip_absvol::m_print: avol==NULL\n";
299 indn.n -= 2;
300 }
301 file.flush();
302}
virtual void m_chname(char *nm) const
Definition: volume.cpp:275
std::ostream & noindent(std::ostream &f)
Definition: prstream.cpp:17
indentation indn
Definition: prstream.cpp:15
#define mcout
Definition: prstream.h:126
#define Ifile
Definition: prstream.h:195

◆ Psc()

void Heed::sh_manip_absvol::Psc ( const fixsyscoor fcsys)
inline

Definition at line 172 of file volume.h.

172{ csys = fcsys; }

Member Data Documentation

◆ aref_ptr

absref* Heed::sh_manip_absvol::aref_ptr[1]
protected

Definition at line 176 of file volume.h.

Referenced by get_components().

◆ csys

fixsyscoor Heed::sh_manip_absvol::csys
protected

Definition at line 168 of file volume.h.

Referenced by Gasc(), get_components(), m_print(), Heed::sh_manip_box::print(), and Psc().


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