Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <ComponentVoxel.hh>
Public Member Functions | |
ComponentVoxel () | |
~ComponentVoxel () | |
void | ElectricField (const double x, const double y, const double z, double &ex, double &ey, double &ez, double &v, Medium *&m, int &status) |
void | ElectricField (const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status) |
Medium * | GetMedium (const double &x, const double &y, const double &z) |
bool | GetVoltageRange (double &vmin, double &vmax) |
bool | GetElectricFieldRange (double &exmin, double &exmax, double &eymin, double &eymax, double &ezmin, double &ezmax) |
bool | GetBoundingBox (double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) |
void | SetMesh (const unsigned int nx, const unsigned int ny, const unsigned int nz, const double xmin, const double xmax, const double ymin, const double ymax, const double zmin, const double zmax) |
bool | LoadData (const std::string filename, std::string format, const bool withPotential, const bool withRegion, const double scaleX=1., const double scaleE=1., const double scaleP=1.) |
bool | GetElement (const double xi, const double yi, const double zi, unsigned int &i, unsigned int &j, unsigned int &k, bool &xMirrored, bool &yMirrored, bool &zMirrored) |
bool | GetElement (const unsigned int i, const unsigned int j, const unsigned int k, double &v, double &ex, double &ey, double &ez) |
void | SetMedium (const int i, Medium *m) |
Medium * | GetMedium (const unsigned int &i) |
void | PrintRegions () |
Public Member Functions inherited from Garfield::ComponentBase | |
ComponentBase () | |
virtual | ~ComponentBase () |
virtual void | SetGeometry (GeometryBase *geo) |
virtual void | Clear () |
virtual Medium * | GetMedium (const double &x, const double &y, const double &z) |
virtual void | ElectricField (const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status)=0 |
virtual void | ElectricField (const double x, const double y, const double z, double &ex, double &ey, double &ez, double &v, Medium *&m, int &status)=0 |
virtual bool | GetVoltageRange (double &vmin, double &vmax)=0 |
virtual void | WeightingField (const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string label) |
virtual double | WeightingPotential (const double x, const double y, const double z, const std::string label) |
virtual void | MagneticField (const double x, const double y, const double z, double &bx, double &by, double &bz, int &status) |
void | SetMagneticField (const double bx, const double by, const double bz) |
virtual bool | IsReady () |
virtual bool | GetBoundingBox (double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) |
virtual bool | IsWireCrossed (const double x0, const double y0, const double z0, const double x1, const double y1, const double z1, double &xc, double &yc, double &zc) |
virtual bool | IsInTrapRadius (double x0, double y0, double z0, double &xw, double &yw, double &rw) |
void | EnablePeriodicityX () |
void | DisablePeriodicityX () |
void | EnablePeriodicityY () |
void | DisablePeriodicityY () |
void | EnablePeriodicityZ () |
void | DisablePeriodicityZ () |
void | EnableMirrorPeriodicityX () |
void | DisableMirrorPeriodicityX () |
void | EnableMirrorPeriodicityY () |
void | DisableMirrorPeriodicityY () |
void | EnableMirrorPeriodicityZ () |
void | DisableMirrorPeriodicityZ () |
void | EnableAxialPeriodicityX () |
void | DisableAxialPeriodicityX () |
void | EnableAxialPeriodicityY () |
void | DisableAxialPeriodicityY () |
void | EnableAxialPeriodicityZ () |
void | DisableAxialPeriodicityZ () |
void | EnableRotationSymmetryX () |
void | DisableRotationSymmetryX () |
void | EnableRotationSymmetryY () |
void | DisableRotationSymmetryY () |
void | EnableRotationSymmetryZ () |
void | DisableRotationSymmetryZ () |
void | EnableDebugging () |
void | DisableDebugging () |
Additional Inherited Members | |
virtual void | Reset ()=0 |
virtual void | UpdatePeriodicity ()=0 |
Protected Attributes inherited from Garfield::ComponentBase | |
std::string | m_className |
GeometryBase * | theGeometry |
bool | ready |
bool | xPeriodic |
bool | yPeriodic |
bool | zPeriodic |
bool | xMirrorPeriodic |
bool | yMirrorPeriodic |
bool | zMirrorPeriodic |
bool | xAxiallyPeriodic |
bool | yAxiallyPeriodic |
bool | zAxiallyPeriodic |
bool | xRotationSymmetry |
bool | yRotationSymmetry |
bool | zRotationSymmetry |
double | bx0 |
double | by0 |
double | bz0 |
bool | debug |
Definition at line 13 of file ComponentVoxel.hh.
Garfield::ComponentVoxel::ComponentVoxel | ( | ) |
Definition at line 12 of file ComponentVoxel.cc.
|
inline |
Definition at line 19 of file ComponentVoxel.hh.
|
virtual |
Implements Garfield::ComponentBase.
Definition at line 32 of file ComponentVoxel.cc.
Referenced by ElectricField().
|
virtual |
Implements Garfield::ComponentBase.
Definition at line 72 of file ComponentVoxel.cc.
|
virtual |
Reimplemented from Garfield::ComponentBase.
Definition at line 391 of file ComponentVoxel.cc.
bool Garfield::ComponentVoxel::GetElectricFieldRange | ( | double & | exmin, |
double & | exmax, | ||
double & | eymin, | ||
double & | eymax, | ||
double & | ezmin, | ||
double & | ezmax | ||
) |
Definition at line 429 of file ComponentVoxel.cc.
bool Garfield::ComponentVoxel::GetElement | ( | const double | xi, |
const double | yi, | ||
const double | zi, | ||
unsigned int & | i, | ||
unsigned int & | j, | ||
unsigned int & | k, | ||
bool & | xMirrored, | ||
bool & | yMirrored, | ||
bool & | zMirrored | ||
) |
Definition at line 519 of file ComponentVoxel.cc.
Referenced by ElectricField(), GetMedium(), and LoadData().
bool Garfield::ComponentVoxel::GetElement | ( | const unsigned int | i, |
const unsigned int | j, | ||
const unsigned int | k, | ||
double & | v, | ||
double & | ex, | ||
double & | ey, | ||
double & | ez | ||
) |
Definition at line 598 of file ComponentVoxel.cc.
|
virtual |
Reimplemented from Garfield::ComponentBase.
Definition at line 80 of file ComponentVoxel.cc.
Medium * Garfield::ComponentVoxel::GetMedium | ( | const unsigned int & | i | ) |
Definition at line 508 of file ComponentVoxel.cc.
|
virtual |
Implements Garfield::ComponentBase.
Definition at line 421 of file ComponentVoxel.cc.
bool Garfield::ComponentVoxel::LoadData | ( | const std::string | filename, |
std::string | format, | ||
const bool | withPotential, | ||
const bool | withRegion, | ||
const double | scaleX = 1. , |
||
const double | scaleE = 1. , |
||
const double | scaleP = 1. |
||
) |
Definition at line 153 of file ComponentVoxel.cc.
void Garfield::ComponentVoxel::PrintRegions | ( | ) |
Definition at line 464 of file ComponentVoxel.cc.
void Garfield::ComponentVoxel::SetMedium | ( | const int | i, |
Medium * | m | ||
) |
Definition at line 499 of file ComponentVoxel.cc.
void Garfield::ComponentVoxel::SetMesh | ( | const unsigned int | nx, |
const unsigned int | ny, | ||
const unsigned int | nz, | ||
const double | xmin, | ||
const double | xmax, | ||
const double | ymin, | ||
const double | ymax, | ||
const double | zmin, | ||
const double | zmax | ||
) |
Definition at line 101 of file ComponentVoxel.cc.