Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <ComponentAnalyticField.hh>
Public Member Functions | |
ComponentAnalyticField () | |
~ComponentAnalyticField () | |
void | ElectricField (const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status) |
void | ElectricField (const double x, const double y, const double z, double &ex, double &ey, double &ez, double &v, Medium *&m, int &status) |
bool | GetVoltageRange (double &pmin, double &pmax) |
void | WeightingField (const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string label) |
double | WeightingPotential (const double x, const double y, const double z, const std::string label) |
bool | GetBoundingBox (double &x0, double &y0, double &z0, double &x1, double &y1, double &z1) |
bool | IsWireCrossed (double x0, double y0, double z0, double x1, double y1, double z1, double &xc, double &yc, double &zc) |
bool | IsInTrapRadius (double x0, double y0, double z0, double &xw, double &yx, double &rw) |
void | AddWire (const double x, const double y, const double diameter, const double voltage, const std::string label, const double length=100., const double tension=50., const double rho=19.3, const int ntrap=5) |
void | AddTube (const double radius, const double voltage, const int nEdges, const std::string label) |
void | AddPlaneX (const double x, const double voltage, const std::string label) |
void | AddPlaneY (const double y, const double voltage, const std::string label) |
void | AddStripOnPlaneX (const char direction, const double x, const double smin, const double smax, const std::string label, const double gap=-1.) |
void | AddStripOnPlaneY (const char direction, const double y, const double smin, const double smax, const std::string label, const double gap=-1.) |
void | SetPeriodicityX (const double s) |
void | SetPeriodicityY (const double s) |
bool | GetPeriodicityX (double &s) |
bool | GetPeriodicityY (double &s) |
void | AddCharge (const double x, const double y, const double z, const double q) |
void | ClearCharges () |
void | PrintCharges () |
std::string | GetCellType () |
void | AddReadout (const std::string label) |
void | EnableChargeCheck () |
void | DisableChargeCheck () |
int | GetNumberOfWires () |
bool | GetWire (const int i, double &x, double &y, double &diameter, double &voltage, std::string &label, double &length, double &charge, int &ntrap) |
int | GetNumberOfPlanesX () |
int | GetNumberOfPlanesY () |
bool | GetPlaneX (const int i, double &x, double &voltage, std::string &label) |
bool | GetPlaneY (const int i, double &y, double &voltage, std::string &label) |
bool | GetTube (double &r, double &voltage, int &nEdges, std::string &label) |
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 12 of file ComponentAnalyticField.hh.
Garfield::ComponentAnalyticField::ComponentAnalyticField | ( | ) |
Definition at line 11 of file ComponentAnalyticField.cc.
|
inline |
Definition at line 18 of file ComponentAnalyticField.hh.
void Garfield::ComponentAnalyticField::AddCharge | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | q | ||
) |
Definition at line 682 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::AddPlaneX | ( | const double | x, |
const double | voltage, | ||
const std::string | label | ||
) |
Definition at line 415 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::AddPlaneY | ( | const double | y, |
const double | voltage, | ||
const std::string | label | ||
) |
Definition at line 443 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::AddReadout | ( | const std::string | label | ) |
Definition at line 1938 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::AddStripOnPlaneX | ( | const char | direction, |
const double | x, | ||
const double | smin, | ||
const double | smax, | ||
const std::string | label, | ||
const double | gap = -1. |
||
) |
Definition at line 471 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::AddStripOnPlaneY | ( | const char | direction, |
const double | y, | ||
const double | smin, | ||
const double | smax, | ||
const std::string | label, | ||
const double | gap = -1. |
||
) |
Definition at line 524 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::AddTube | ( | const double | radius, |
const double | voltage, | ||
const int | nEdges, | ||
const std::string | label | ||
) |
Definition at line 374 of file ComponentAnalyticField.cc.
Referenced by GarfieldPhysics::CreateGeometry().
void Garfield::ComponentAnalyticField::AddWire | ( | const double | x, |
const double | y, | ||
const double | diameter, | ||
const double | voltage, | ||
const std::string | label, | ||
const double | length = 100. , |
||
const double | tension = 50. , |
||
const double | rho = 19.3 , |
||
const int | ntrap = 5 |
||
) |
Definition at line 317 of file ComponentAnalyticField.cc.
Referenced by GarfieldPhysics::CreateGeometry().
void Garfield::ComponentAnalyticField::ClearCharges | ( | ) |
Definition at line 695 of file ComponentAnalyticField.cc.
|
inline |
Definition at line 96 of file ComponentAnalyticField.hh.
|
virtual |
Implements Garfield::ComponentBase.
Definition at line 53 of file ComponentAnalyticField.cc.
|
virtual |
Implements Garfield::ComponentBase.
Definition at line 18 of file ComponentAnalyticField.cc.
|
inline |
Definition at line 95 of file ComponentAnalyticField.hh.
|
virtual |
Reimplemented from Garfield::ComponentBase.
Definition at line 165 of file ComponentAnalyticField.cc.
|
inline |
Definition at line 74 of file ComponentAnalyticField.hh.
int Garfield::ComponentAnalyticField::GetNumberOfPlanesX | ( | ) |
Definition at line 718 of file ComponentAnalyticField.cc.
int Garfield::ComponentAnalyticField::GetNumberOfPlanesY | ( | ) |
Definition at line 728 of file ComponentAnalyticField.cc.
|
inline |
Definition at line 98 of file ComponentAnalyticField.hh.
bool Garfield::ComponentAnalyticField::GetPeriodicityX | ( | double & | s | ) |
Definition at line 603 of file ComponentAnalyticField.cc.
bool Garfield::ComponentAnalyticField::GetPeriodicityY | ( | double & | s | ) |
Definition at line 614 of file ComponentAnalyticField.cc.
bool Garfield::ComponentAnalyticField::GetPlaneX | ( | const int | i, |
double & | x, | ||
double & | voltage, | ||
std::string & | label | ||
) |
Definition at line 760 of file ComponentAnalyticField.cc.
bool Garfield::ComponentAnalyticField::GetPlaneY | ( | const int | i, |
double & | y, | ||
double & | voltage, | ||
std::string & | label | ||
) |
Definition at line 775 of file ComponentAnalyticField.cc.
bool Garfield::ComponentAnalyticField::GetTube | ( | double & | r, |
double & | voltage, | ||
int & | nEdges, | ||
std::string & | label | ||
) |
Definition at line 790 of file ComponentAnalyticField.cc.
|
virtual |
Implements Garfield::ComponentBase.
Definition at line 87 of file ComponentAnalyticField.cc.
bool Garfield::ComponentAnalyticField::GetWire | ( | const int | i, |
double & | x, | ||
double & | y, | ||
double & | diameter, | ||
double & | voltage, | ||
std::string & | label, | ||
double & | length, | ||
double & | charge, | ||
int & | ntrap | ||
) |
Definition at line 738 of file ComponentAnalyticField.cc.
|
virtual |
Reimplemented from Garfield::ComponentBase.
Definition at line 256 of file ComponentAnalyticField.cc.
|
virtual |
Reimplemented from Garfield::ComponentBase.
Definition at line 184 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::PrintCharges | ( | ) |
Definition at line 703 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::SetPeriodicityX | ( | const double | s | ) |
Definition at line 577 of file ComponentAnalyticField.cc.
void Garfield::ComponentAnalyticField::SetPeriodicityY | ( | const double | s | ) |
Definition at line 590 of file ComponentAnalyticField.cc.
|
virtual |
Reimplemented from Garfield::ComponentBase.
Definition at line 104 of file ComponentAnalyticField.cc.
|
virtual |
Reimplemented from Garfield::ComponentBase.
Definition at line 134 of file ComponentAnalyticField.cc.