Garfield++ v2r0
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
 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
 
virtual 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, PassivePtr< 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
 
virtual 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::RegPassivePtr
 RegPassivePtr (void)
 
 RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0)
 
 RegPassivePtr (const RegPassivePtr &f)
 
RegPassivePtroperator= (const RegPassivePtr &f)
 
CountPP_ns::CountPassivePtrbook (void) const
 
void clear_pointers (void) const
 
virtual RegPassivePtrcopy () 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
 

Protected Member Functions

virtual void get_components (ActivePtr< absref_transmit > &aref_tran)
 

Protected Attributes

fixsyscoor csys
 
absrefaref_ptr [1]
 

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)
 

Detailed Description

Definition at line 216 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:218

◆ 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 234 of file volume.h.

234{}

Member Function Documentation

◆ copy()

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

Reimplemented from Heed::manip_absvol.

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

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
virtual

Get the coordinate system.

Reimplemented from Heed::manip_absvol.

Definition at line 262 of file volume.cpp.

262{ return &csys; }

◆ get_components()

void Heed::sh_manip_absvol::get_components ( ActivePtr< absref_transmit > &  aref_tran)
protectedvirtual

Reimplemented from Heed::absref.

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

Definition at line 257 of file volume.cpp.

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

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:123
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
virtual

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:196

◆ Psc()

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

Definition at line 222 of file volume.h.

222{ csys = fcsys; }

Member Data Documentation

◆ aref_ptr

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

Definition at line 226 of file volume.h.

Referenced by get_components().

◆ csys

fixsyscoor Heed::sh_manip_absvol::csys
protected

Definition at line 218 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: