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

#include <polyline.h>

+ Inheritance diagram for Heed::polyline_pl:

Public Member Functions

plane Gpn (void) const
 
 polyline_pl (void)
 
 polyline_pl (const polyline_pl &pl)
 
 polyline_pl (const plane &fpn, const point *fpt, int fqpt)
 
 polyline_pl (polyline &pl)
 
 polyline_pl (const polyline &pl)
 
polyline_ploperator= (const polyline_pl &fpl)
 
- Public Member Functions inherited from Heed::polyline
int Gqpt (void) const
 
point Gpt (int n) const
 
int Gqsl (void) const
 
straight Gsl (int n) const
 
int check_point_in (const point &fpt, vfloat prec) const
 
int cross (const straight &fsl, point *pc, int &qpc, polyline *pl, int &qpl, vfloat prec) const
 
vfloat dist_two_inter (polyline &pl, vfloat prec) const
 
vfloat distance (const point &fpt) const
 
vfloat distance (const point &fpt, point &cpt) const
 
 polyline (void)
 
 polyline (polyline &pl)
 
 polyline (const polyline &pl)
 
 polyline (const point *fpt, int fqpt)
 
 polyline (const point &fpt1, const point &fpt2)
 
polylineoperator= (const polyline &fpl)
 
 ~polyline (void)
 
- Public Member Functions inherited from absref
virtual ~absref ()
 
virtual void down (const abssyscoor *fasc)
 
virtual void up (const abssyscoor *fasc)
 
virtual void turn (const vec &dir, vfloat angle)
 
virtual void shift (const vec &dir)
 

Protected Member Functions

virtual void get_components (ActivePtr< absref_transmit > &aref_tran)
 
- Protected Member Functions inherited from Heed::polyline
virtual void get_components (ActivePtr< absref_transmit > &aref_tran)
 
void polyline_init (const point *fpt, int fqpt)
 
void polyline_del (void)
 

Protected Attributes

plane pn
 
- Protected Attributes inherited from Heed::polyline
int qpt
 
pointpt
 
int qsl
 
straightsl
 
absref ** aref
 

Static Protected Attributes

static absrefabsref::* aref_pl = (absref absref::*)&polyline_pl::pn
 

Friends

std::ostream & operator<< (std::ostream &file, const polyline_pl &p)
 

Detailed Description

Definition at line 126 of file polyline.h.

Constructor & Destructor Documentation

◆ polyline_pl() [1/5]

Heed::polyline_pl::polyline_pl ( void  )
inline

Definition at line 137 of file polyline.h.

137: polyline(), pn() { ; }
polyline(void)
Definition: polyline.h:97

◆ polyline_pl() [2/5]

Heed::polyline_pl::polyline_pl ( const polyline_pl pl)
inline

Definition at line 138 of file polyline.h.

138: polyline(pl), pn(pl.pn) { ; }

◆ polyline_pl() [3/5]

Heed::polyline_pl::polyline_pl ( const plane fpn,
const point fpt,
int  fqpt 
)
inline

Definition at line 139 of file polyline.h.

140 : polyline(fpt, fqpt), pn(fpn) {
141 ;
142 }

◆ polyline_pl() [4/5]

Heed::polyline_pl::polyline_pl ( polyline pl)

Definition at line 246 of file polyline.cpp.

246 {
247 mfunname("polyline_pl::polyline_pl( polyline& pl)");
248 if (pl.Gqsl() < 2) {
249 mcerr << "error in polyline_pl(polyline& pl): qsl=" << Gqsl();
250 spexit(mcerr);
251 }
253 pn = plane(pl.Gsl(0).Gpiv(), pl.Gsl(0).Gdir() || pl.Gsl(1).Gdir());
254}
#define spexit(stream)
Definition: FunNameStack.h:536
#define mfunname(string)
Definition: FunNameStack.h:67
polyline & operator=(const polyline &fpl)
Definition: polyline.cpp:43
int Gqsl(void) const
Definition: polyline.h:44
#define mcerr
Definition: prstream.h:135

◆ polyline_pl() [5/5]

Heed::polyline_pl::polyline_pl ( const polyline pl)

Definition at line 256 of file polyline.cpp.

256 {
257 mfunname("polyline_pl::polyline_pl(const polyline& pl");
258 if (pl.Gqsl() < 2) {
259 mcerr << "error in polyline_pl(polyline& pl): qsl=" << Gqsl();
260 spexit(mcerr);
261 }
263 pn = plane(pl.Gsl(0).Gpiv(), pl.Gsl(0).Gdir() || pl.Gsl(1).Gdir());
264}

Member Function Documentation

◆ get_components()

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

Reimplemented from Heed::polyline.

Reimplemented in Heed::rectangle, and Heed::spquadr.

Definition at line 242 of file polyline.cpp.

242 {
243 aref_tran.pass(new absref_transmit(1, &aref_pl, qpt + qsl, aref));
244}
static absrefabsref::* aref_pl
Definition: polyline.h:134
absref ** aref
Definition: polyline.h:55

◆ Gpn()

plane Heed::polyline_pl::Gpn ( void  ) const
inline

Definition at line 131 of file polyline.h.

131{ return pn; }

◆ operator=()

polyline_pl & Heed::polyline_pl::operator= ( const polyline_pl fpl)

Definition at line 266 of file polyline.cpp.

266 {
267 mfunname("polyline_pl& polyline_pl::operator=(const polyline_pl& fpl)");
268 polyline_del();
269 polyline_init(fpl.pt, fpl.qpt);
270 pn = fpl.pn;
271 return *this;
272}
void polyline_init(const point *fpt, int fqpt)
Definition: polyline.cpp:50
void polyline_del(void)
Definition: polyline.h:81

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  file,
const polyline_pl p 
)
friend

Definition at line 274 of file polyline.cpp.

274 {
275 Ifile << "polyline_pl:\n";
276 indn.n += 2;
277 file << p.pn;
278 file << statcast(const polyline&, p);
279 indn.n -= 2;
280 return file;
281}
#define statcast(type, name)
indentation indn
Definition: prstream.cpp:13
#define Ifile
Definition: prstream.h:207

Member Data Documentation

◆ aref_pl

absref absref::* Heed::polyline_pl::aref_pl = (absref absref::*)&polyline_pl::pn
staticprotected

Definition at line 134 of file polyline.h.

Referenced by get_components().

◆ pn

plane Heed::polyline_pl::pn
protected

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