Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
vec.h File Reference
#include <string>
#include "wcpplib/util/FunNameStack.h"
#include "wcpplib/geometry/vfloat.h"
#include "wcpplib/geometry/vec.ic"

Go to the source code of this file.

Classes

class  Heed::absref
 
class  Heed::absref_transmit
 
class  Heed::vec
 
class  Heed::basis
 Basis. More...
 
class  Heed::point
 Point. More...
 
class  Heed::abssyscoor
 
class  Heed::fixsyscoor
 

Namespaces

namespace  Heed
 

Macros

#define pvecerror(string)
 
#define pvecerrorp(string)
 
#define ApplyAnyFunctionToVecElements(func)
 
#define vec_syscoor_index   0
 

Functions

std::ostream & Heed::operator<< (std::ostream &file, const vec &v)
 
std::ostream & Heed::operator<< (std::ostream &file, const basis &b)
 
std::ostream & Heed::operator<< (std::ostream &file, const point &p)
 
std::ostream & Heed::operator<< (std::ostream &file, const abssyscoor &f)
 
std::ostream & Heed::operator<< (std::ostream &file, const fixsyscoor &f)
 

Macro Definition Documentation

◆ ApplyAnyFunctionToVecElements

#define ApplyAnyFunctionToVecElements (   func)
Value:
{ \
auto aref_tran = get_components(); \
int q = aref_tran.qaref; \
for (int n = 0; n < q; n++) (this->*(aref_tran.aref[n])).func; \
q = aref_tran.qaref_pointer; \
for (int n = 0; n < q; n++) aref_tran.aref_pointer[n]->func; \
q = aref_tran.qaref_other; \
for (int n = 0; n < q; n++) { \
absref* ar = aref_tran.get_other(n); \
if (!ar) break; \
ar->func; \
} \
}

Definition at line 155 of file vec.h.

◆ pvecerror

#define pvecerror (   string)
Value:
mfunname(string); \
if (vecerror != 0) { \
mcerr << "vecerror is not zero, program is terminated\n" \
<< " function detected error is " << string << '\n'; \
spexit(mcerr); \
}
#define mfunname(string)
Definition: FunNameStack.h:45
#define mcerr
Definition: prstream.h:128

Definition at line 28 of file vec.h.

◆ pvecerrorp

#define pvecerrorp (   string)
Value:
mfunnamep(string); \
if (vecerror != 0) { \
mcerr << "vecerror is not zero, program is terminated\n" \
<< " function detected error is " << string << '\n'; \
spexit(mcerr); \
}
#define mfunnamep(string)
Definition: FunNameStack.h:49

Definition at line 35 of file vec.h.

◆ vec_syscoor_index

#define vec_syscoor_index   0

Coordinate system (centre, basis and mother coordinate system). Take care: c.abas must be equal to abas->ex.abas. If asc==NULL and abs(c)==0 than it is primary system of coordinate and therefore c.abas and abas->ex.abas must be zero, baz may be zero or pointer to unit basis.

Definition at line 416 of file vec.h.