Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Abstract base class for components. More...
#include <ComponentBase.hh>
Public Member Functions | |
ComponentBase () | |
Constructor. | |
virtual | ~ComponentBase () |
Destructor. | |
virtual void | SetGeometry (GeometryBase *geo) |
Define the geometry. | |
virtual void | Clear () |
Reset. | |
virtual Medium * | GetMedium (const double x, const double y, const double z) |
Get the medium at a given location (x, y, 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 |
Calculate the voltage range [V]. | |
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) |
Set a constant magnetic field. | |
virtual bool | IsReady () |
Ready for use? | |
virtual bool | GetBoundingBox (double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) |
Get the bounding box coordinates. | |
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 (const double q0, const double x0, const double y0, const double z0, double &xw, double &yw, double &rw) |
void | EnablePeriodicityX (const bool on=true) |
Enable simple periodicity in the direction. | |
void | DisablePeriodicityX () |
void | EnablePeriodicityY (const bool on=true) |
Enable simple periodicity in the direction. | |
void | DisablePeriodicityY () |
void | EnablePeriodicityZ (const bool on=true) |
Enable simple periodicity in the direction. | |
void | DisablePeriodicityZ () |
void | EnableMirrorPeriodicityX (const bool on=true) |
Enable mirror periodicity in the direction. | |
void | DisableMirrorPeriodicityX () |
void | EnableMirrorPeriodicityY (const bool on=true) |
Enable mirror periodicity in the direction. | |
void | DisableMirrorPeriodicityY () |
void | EnableMirrorPeriodicityZ (const bool on=true) |
Enable mirror periodicity in the direction. | |
void | DisableMirrorPeriodicityZ () |
void | EnableAxialPeriodicityX (const bool on=true) |
Enable axial periodicity in the direction. | |
void | DisableAxialPeriodicityX () |
void | EnableAxialPeriodicityY (const bool on=true) |
Enable axial periodicity in the direction. | |
void | DisableAxialPeriodicityY () |
void | EnableAxialPeriodicityZ (const bool on=true) |
Enable axial periodicity in the direction. | |
void | DisableAxialPeriodicityZ () |
void | EnableRotationSymmetryX (const bool on=true) |
Enable rotation symmetry around the axis. | |
void | DisableRotationSymmetryX () |
void | EnableRotationSymmetryY (const bool on=true) |
Enable rotation symmetry around the axis. | |
void | DisableRotationSymmetryY () |
void | EnableRotationSymmetryZ (const bool on=true) |
Enable rotation symmetry around the axis. | |
void | DisableRotationSymmetryZ () |
void | EnableDebugging () |
Switch on debugging messages. | |
void | DisableDebugging () |
Switch off debugging messages. | |
void | ActivateTraps () |
Request trapping to be taken care of by the component (for TCAD). | |
void | DeactivateTraps () |
bool | IsTrapActive () |
void | ActivateVelocityMap () |
Request velocity to be taken care of by the component (for TCAD). | |
void | DectivateVelocityMap () |
bool | IsVelocityActive () |
virtual bool | ElectronAttachment (const double, const double, const double, double &eta) |
Get the electron attachment coefficient. | |
virtual bool | HoleAttachment (const double, const double, const double, double &eta) |
Get the hole attachment coefficient. | |
virtual void | ElectronVelocity (const double, const double, const double, double &vx, double &vy, double &vz, Medium *&, int &status) |
Get the electron drift velocity. | |
virtual void | HoleVelocity (const double, const double, const double, double &vx, double &vy, double &vz, Medium *&, int &status) |
Get the hole drift velocity. | |
virtual bool | GetElectronLifetime (const double, const double, const double, double &etau) |
virtual bool | GetHoleLifetime (const double, const double, const double, double &htau) |
Protected Member Functions | |
virtual void | Reset ()=0 |
Geometry checks. | |
virtual void | UpdatePeriodicity ()=0 |
Verify periodicities. | |
Protected Attributes | |
std::string | m_className |
Class name. | |
GeometryBase * | m_geometry |
Pointer to the geometry. | |
bool | m_ready |
Ready for use? | |
bool | m_activeTraps |
Does the component have traps? | |
bool | m_hasVelocityMap |
Does the component have velocity maps? | |
bool | m_xPeriodic |
Simple periodicity in x. | |
bool | m_yPeriodic |
Simple periodicity in y. | |
bool | m_zPeriodic |
Simple periodicity in z. | |
bool | m_xMirrorPeriodic |
Mirror periodicity in x. | |
bool | m_yMirrorPeriodic |
Mirror periodicity in y. | |
bool | m_zMirrorPeriodic |
Mirror periodicity in z. | |
bool | m_xAxiallyPeriodic |
Axial periodicity in x. | |
bool | m_yAxiallyPeriodic |
Axial periodicity in y. | |
bool | m_zAxiallyPeriodic |
Axial periodicity in z. | |
bool | m_xRotationSymmetry |
Rotation symmetry around x-axis. | |
bool | m_yRotationSymmetry |
Rotation symmetry around y-axis. | |
bool | m_zRotationSymmetry |
Rotation symmetry around z-axis. | |
double | m_bx0 |
double | m_by0 |
double | m_bz0 |
bool | m_debug |
Switch on/off debugging messages. | |
Abstract base class for components.
Definition at line 13 of file ComponentBase.hh.
Garfield::ComponentBase::ComponentBase | ( | ) |
Constructor.
Definition at line 6 of file ComponentBase.cc.
|
inlinevirtual |
|
inline |
Request trapping to be taken care of by the component (for TCAD).
Definition at line 185 of file ComponentBase.hh.
|
inline |
Request velocity to be taken care of by the component (for TCAD).
Definition at line 190 of file ComponentBase.hh.
|
virtual |
Reset.
Definition at line 47 of file ComponentBase.cc.
|
inline |
Definition at line 186 of file ComponentBase.hh.
|
inline |
Definition at line 191 of file ComponentBase.hh.
|
inline |
Definition at line 146 of file ComponentBase.hh.
|
inline |
Definition at line 152 of file ComponentBase.hh.
|
inline |
Definition at line 158 of file ComponentBase.hh.
|
inline |
|
inline |
Definition at line 127 of file ComponentBase.hh.
|
inline |
Definition at line 133 of file ComponentBase.hh.
|
inline |
Definition at line 139 of file ComponentBase.hh.
|
inline |
Definition at line 108 of file ComponentBase.hh.
|
inline |
Definition at line 114 of file ComponentBase.hh.
|
inline |
Definition at line 120 of file ComponentBase.hh.
|
inline |
Definition at line 165 of file ComponentBase.hh.
|
inline |
Definition at line 171 of file ComponentBase.hh.
|
inline |
Definition at line 177 of file ComponentBase.hh.
|
pure virtual |
Implemented in Garfield::ComponentAnalyticField, Garfield::ComponentAnsys121, Garfield::ComponentAnsys123, Garfield::ComponentComsol, Garfield::ComponentConstant, Garfield::ComponentCST, Garfield::ComponentElmer, Garfield::ComponentNeBem2d, Garfield::ComponentTcad2d, Garfield::ComponentTcad3d, Garfield::ComponentUser, Garfield::ComponentUserMapBase, Garfield::ComponentVoxel, and Garfield::ComponentFieldMap.
|
pure virtual |
Calculate the drift field at given point.
x,y,z | coordinates [cm]. |
ex,ey,ez | components of the electric field [V/cm]. |
m | pointer to the medium at this location. |
status | status flag |
Status flags:
0: Inside an active medium > 0: Inside a wire of type X -4 ... -1: On the side of a plane where no wires are -5: Inside the mesh but not in an active medium -6: Outside the mesh -10: Unknown potential type (should not occur) other: Other cases (should not occur)
Implemented in Garfield::ComponentAnalyticField, Garfield::ComponentAnsys121, Garfield::ComponentAnsys123, Garfield::ComponentComsol, Garfield::ComponentConstant, Garfield::ComponentCST, Garfield::ComponentElmer, Garfield::ComponentNeBem2d, Garfield::ComponentTcad2d, Garfield::ComponentTcad3d, Garfield::ComponentUser, Garfield::ComponentUserMapBase, Garfield::ComponentVoxel, and Garfield::ComponentFieldMap.
Referenced by Garfield::ComponentUserMapBase::ElectricField(), Garfield::ViewField::Evaluate2D(), and Garfield::ViewField::EvaluateProfile().
|
inlinevirtual |
Get the electron attachment coefficient.
Reimplemented in Garfield::ComponentTcad2d.
Definition at line 195 of file ComponentBase.hh.
|
inlinevirtual |
Get the electron drift velocity.
Reimplemented in Garfield::ComponentTcad2d.
Definition at line 207 of file ComponentBase.hh.
|
inline |
Enable axial periodicity in the direction.
Definition at line 142 of file ComponentBase.hh.
Referenced by DisableAxialPeriodicityX().
|
inline |
Enable axial periodicity in the direction.
Definition at line 148 of file ComponentBase.hh.
Referenced by DisableAxialPeriodicityY().
|
inline |
Enable axial periodicity in the direction.
Definition at line 154 of file ComponentBase.hh.
Referenced by DisableAxialPeriodicityZ().
|
inline |
|
inline |
Enable mirror periodicity in the direction.
Definition at line 123 of file ComponentBase.hh.
Referenced by DisableMirrorPeriodicityX().
|
inline |
Enable mirror periodicity in the direction.
Definition at line 129 of file ComponentBase.hh.
Referenced by DisableMirrorPeriodicityY().
|
inline |
Enable mirror periodicity in the direction.
Definition at line 135 of file ComponentBase.hh.
Referenced by DisableMirrorPeriodicityZ().
|
inline |
Enable simple periodicity in the direction.
Definition at line 104 of file ComponentBase.hh.
Referenced by DisablePeriodicityX().
|
inline |
Enable simple periodicity in the direction.
Definition at line 110 of file ComponentBase.hh.
Referenced by DisablePeriodicityY().
|
inline |
Enable simple periodicity in the direction.
Definition at line 116 of file ComponentBase.hh.
Referenced by DisablePeriodicityZ().
|
inline |
Enable rotation symmetry around the axis.
Definition at line 161 of file ComponentBase.hh.
Referenced by DisableRotationSymmetryX().
|
inline |
Enable rotation symmetry around the axis.
Definition at line 167 of file ComponentBase.hh.
Referenced by DisableRotationSymmetryY().
|
inline |
Enable rotation symmetry around the axis.
Definition at line 173 of file ComponentBase.hh.
Referenced by DisableRotationSymmetryZ().
|
virtual |
Get the bounding box coordinates.
Reimplemented in Garfield::ComponentAnalyticField, Garfield::ComponentFieldMap, Garfield::ComponentTcad2d, Garfield::ComponentTcad3d, and Garfield::ComponentVoxel.
Definition at line 100 of file ComponentBase.cc.
Referenced by Garfield::ComponentConstant::GetVoltageRange().
|
inlinevirtual |
Reimplemented in Garfield::ComponentTcad2d.
Definition at line 220 of file ComponentBase.hh.
|
inlinevirtual |
Reimplemented in Garfield::ComponentTcad2d.
Definition at line 225 of file ComponentBase.hh.
|
virtual |
Get the medium at a given location (x, y, z).
Reimplemented in Garfield::ComponentAnsys121, Garfield::ComponentAnsys123, Garfield::ComponentComsol, Garfield::ComponentCST, Garfield::ComponentElmer, Garfield::ComponentTcad2d, Garfield::ComponentTcad3d, Garfield::ComponentUserMapBase, Garfield::ComponentVoxel, and Garfield::ComponentFieldMap.
Definition at line 40 of file ComponentBase.cc.
Referenced by Garfield::ComponentNeBem2d::ElectricField(), Garfield::ComponentAnalyticField::ElectricField(), Garfield::ComponentConstant::ElectricField(), Garfield::ComponentUser::ElectricField(), Garfield::ComponentUserMapBase::GetMedium(), Garfield::ComponentConstant::WeightingField(), and Garfield::ComponentConstant::WeightingPotential().
|
pure virtual |
Calculate the voltage range [V].
Implemented in Garfield::ComponentAnalyticField, Garfield::ComponentConstant, Garfield::ComponentFieldMap, Garfield::ComponentNeBem2d, Garfield::ComponentTcad2d, Garfield::ComponentTcad3d, Garfield::ComponentUser, Garfield::ComponentUserMapBase, and Garfield::ComponentVoxel.
|
inlinevirtual |
Get the hole attachment coefficient.
Reimplemented in Garfield::ComponentTcad2d.
Definition at line 201 of file ComponentBase.hh.
|
inlinevirtual |
Get the hole drift velocity.
Reimplemented in Garfield::ComponentTcad2d.
Definition at line 214 of file ComponentBase.hh.
|
virtual |
Determine whether a particle is inside the trap radius of a wire.
q0 | charge of the particle [in elementary charges]. |
x0,y0,z0 | position [cm] of the particle. |
xw,yw | coordinates of the wire (if applicable). |
rw | radius of the wire (if applicable). |
Reimplemented in Garfield::ComponentAnalyticField.
Definition at line 120 of file ComponentBase.cc.
|
inlinevirtual |
|
inline |
Definition at line 187 of file ComponentBase.hh.
|
inline |
Definition at line 192 of file ComponentBase.hh.
|
virtual |
Determine whether the line between two points crosses a wire.
x0,y0,z0 | first point [cm]. |
x1,y1,z1 | second point [cm] |
xc,yc,zc | point [cm] where the line crosses the wire. |
Reimplemented in Garfield::ComponentAnalyticField.
Definition at line 107 of file ComponentBase.cc.
|
virtual |
Calculate the magnetic field at a given point.
x,y,z | coordinates [cm]. |
bx,by,bz | components of the magnetic field [Tesla]. |
status | status flag. |
Reimplemented in Garfield::ComponentUser, and Garfield::ComponentVoxel.
Definition at line 78 of file ComponentBase.cc.
Referenced by Garfield::ComponentVoxel::MagneticField().
|
protectedpure virtual |
Geometry checks.
Implemented in Garfield::ComponentFieldMap, and Garfield::ComponentUserMapBase.
Referenced by Clear().
|
virtual |
Define the geometry.
Definition at line 28 of file ComponentBase.cc.
Referenced by GarfieldPhysics::CreateGeometry().
void Garfield::ComponentBase::SetMagneticField | ( | const double | bx, |
const double | by, | ||
const double | bz | ||
) |
Set a constant magnetic field.
Definition at line 92 of file ComponentBase.cc.
|
protectedpure virtual |
Verify periodicities.
Implemented in Garfield::ComponentAnsys121, Garfield::ComponentAnsys123, Garfield::ComponentComsol, Garfield::ComponentCST, Garfield::ComponentElmer, Garfield::ComponentUserMapBase, and Garfield::ComponentFieldMap.
Referenced by EnableAxialPeriodicityX(), EnableAxialPeriodicityY(), EnableAxialPeriodicityZ(), EnableMirrorPeriodicityX(), EnableMirrorPeriodicityY(), EnableMirrorPeriodicityZ(), EnablePeriodicityX(), EnablePeriodicityY(), EnablePeriodicityZ(), EnableRotationSymmetryX(), EnableRotationSymmetryY(), and EnableRotationSymmetryZ().
|
virtual |
Calculate the weighting field at a given point and for a given electrode.
x,y,z | coordinates [cm]. |
wx,wy,wz | components of the weighting field [1/cm]. |
label | name of the electrode |
Reimplemented in Garfield::ComponentAnalyticField, Garfield::ComponentAnsys121, Garfield::ComponentAnsys123, Garfield::ComponentComsol, Garfield::ComponentConstant, Garfield::ComponentCST, Garfield::ComponentElmer, Garfield::ComponentTcad2d, Garfield::ComponentUser, Garfield::ComponentUserMapBase, Garfield::ComponentVoxel, and Garfield::ComponentFieldMap.
Definition at line 53 of file ComponentBase.cc.
Referenced by Garfield::ViewField::Evaluate2D(), Garfield::ViewField::EvaluateProfile(), and Garfield::ComponentUserMapBase::WeightingField().
|
virtual |
Reimplemented in Garfield::ComponentAnalyticField, Garfield::ComponentAnsys121, Garfield::ComponentAnsys123, Garfield::ComponentComsol, Garfield::ComponentConstant, Garfield::ComponentCST, Garfield::ComponentElmer, Garfield::ComponentUser, Garfield::ComponentUserMapBase, and Garfield::ComponentFieldMap.
Definition at line 65 of file ComponentBase.cc.
Referenced by Garfield::ViewField::Evaluate2D(), Garfield::ViewField::EvaluateProfile(), and Garfield::ComponentUserMapBase::WeightingPotential().
|
protected |
Does the component have traps?
Definition at line 242 of file ComponentBase.hh.
Referenced by ActivateTraps(), DeactivateTraps(), and IsTrapActive().
|
protected |
Definition at line 271 of file ComponentBase.hh.
Referenced by MagneticField(), and SetMagneticField().
|
protected |
Definition at line 271 of file ComponentBase.hh.
Referenced by MagneticField(), and SetMagneticField().
|
protected |
Definition at line 271 of file ComponentBase.hh.
Referenced by MagneticField(), and SetMagneticField().
|
protected |
Class name.
Definition at line 233 of file ComponentBase.hh.
Referenced by Garfield::ComponentNeBem2d::AddPanel(), Garfield::ComponentAnalyticField::AddPixelOnPlaneX(), Garfield::ComponentAnalyticField::AddPixelOnPlaneY(), Garfield::ComponentAnalyticField::AddPlaneX(), Garfield::ComponentAnalyticField::AddPlaneY(), Garfield::ComponentAnalyticField::AddReadout(), Garfield::ComponentAnalyticField::AddStripOnPlaneX(), Garfield::ComponentAnalyticField::AddStripOnPlaneY(), Garfield::ComponentAnalyticField::AddTube(), Garfield::ComponentAnalyticField::AddWire(), Garfield::ComponentNeBem2d::AddWire(), Garfield::ComponentAnalyticField::ComponentAnalyticField(), Garfield::ComponentAnsys121::ComponentAnsys121(), Garfield::ComponentAnsys123::ComponentAnsys123(), Garfield::ComponentComsol::ComponentComsol(), Garfield::ComponentConstant::ComponentConstant(), Garfield::ComponentCST::ComponentCST(), Garfield::ComponentElmer::ComponentElmer(), Garfield::ComponentFieldMap::ComponentFieldMap(), Garfield::ComponentNeBem2d::ComponentNeBem2d(), Garfield::ComponentTcad2d::ComponentTcad2d(), Garfield::ComponentTcad3d::ComponentTcad3d(), Garfield::ComponentUser::ComponentUser(), Garfield::ComponentUserMapBase::ComponentUserMapBase(), Garfield::ComponentVoxel::ComponentVoxel(), Garfield::ComponentCST::Coordinate2Index(), Garfield::ComponentFieldMap::DriftMedium(), Garfield::ComponentAnsys121::ElectricField(), Garfield::ComponentAnsys123::ElectricField(), Garfield::ComponentComsol::ElectricField(), Garfield::ComponentElmer::ElectricField(), Garfield::ComponentNeBem2d::ElectricField(), Garfield::ComponentTcad2d::ElectricField(), Garfield::ComponentTcad3d::ElectricField(), Garfield::ComponentUserMapBase::ElectricField(), Garfield::ComponentVoxel::ElectricField(), Garfield::ComponentConstant::ElectricField(), Garfield::ComponentUser::ElectricField(), Garfield::ComponentTcad2d::ElectronAttachment(), Garfield::ComponentTcad2d::ElectronVelocity(), Garfield::ComponentFieldMap::FindElement13(), Garfield::ComponentFieldMap::FindElement5(), Garfield::ComponentFieldMap::FindElementCube(), Garfield::ComponentTcad2d::GetAcceptorOccupation(), Garfield::ComponentFieldMap::GetConductivity(), Garfield::ComponentTcad2d::GetDonorOccupation(), Garfield::ComponentVoxel::GetElectricFieldRange(), Garfield::ComponentTcad2d::GetElectronLifetime(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentFieldMap::GetElement(), Garfield::ComponentTcad2d::GetElement(), Garfield::ComponentTcad3d::GetElement(), Garfield::ComponentTcad2d::GetHoleLifetime(), Garfield::ComponentAnsys121::GetMedium(), Garfield::ComponentAnsys123::GetMedium(), Garfield::ComponentComsol::GetMedium(), Garfield::ComponentCST::GetMedium(), Garfield::ComponentElmer::GetMedium(), Garfield::ComponentTcad2d::GetMedium(), Garfield::ComponentTcad3d::GetMedium(), Garfield::ComponentUserMapBase::GetMedium(), Garfield::ComponentVoxel::GetMedium(), Garfield::ComponentFieldMap::GetMedium(), Garfield::ComponentTcad2d::GetMobility(), Garfield::ComponentTcad2d::GetNode(), Garfield::ComponentTcad3d::GetNode(), Garfield::ComponentFieldMap::GetPermittivity(), Garfield::ComponentAnalyticField::GetPlaneX(), Garfield::ComponentAnalyticField::GetPlaneY(), Garfield::ComponentTcad2d::GetRegion(), Garfield::ComponentTcad3d::GetRegion(), Garfield::ComponentAnalyticField::GetVoltageRange(), Garfield::ComponentConstant::GetVoltageRange(), Garfield::ComponentAnalyticField::GetWire(), Garfield::ComponentTcad2d::HoleAttachment(), Garfield::ComponentTcad2d::HoleVelocity(), Garfield::ComponentTcad2d::Initialise(), Garfield::ComponentTcad3d::Initialise(), Garfield::ComponentElmer::Initialise(), Garfield::ComponentCST::Initialise(), Garfield::ComponentAnsys121::Initialise(), Garfield::ComponentAnsys123::Initialise(), Garfield::ComponentComsol::Initialise(), Garfield::ComponentAnalyticField::IsInTrapRadius(), Garfield::ComponentAnalyticField::IsWireCrossed(), Garfield::ComponentVoxel::LoadElectricField(), Garfield::ComponentVoxel::LoadMagneticField(), MagneticField(), Garfield::ComponentFieldMap::NotDriftMedium(), Garfield::ComponentAnalyticField::PrintCharges(), Garfield::ComponentFieldMap::PrintElement(), Garfield::ComponentFieldMap::PrintMaterials(), Garfield::ComponentFieldMap::PrintNotReady(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentTcad3d::PrintRegions(), Garfield::ComponentTcad2d::PrintRegions(), Garfield::ComponentVoxel::PrintRegions(), Garfield::ComponentFieldMap::PrintWarning(), Garfield::ComponentTcad2d::SetAcceptor(), Garfield::ComponentTcad2d::SetDonor(), Garfield::ComponentTcad2d::SetDriftRegion(), Garfield::ComponentTcad3d::SetDriftRegion(), Garfield::ComponentConstant::SetElectricField(), Garfield::ComponentUser::SetElectricField(), Garfield::ComponentUser::SetMagneticField(), Garfield::ComponentNeBem2d::SetMaxNumberOfIterations(), Garfield::ComponentVoxel::SetMedium(), Garfield::ComponentFieldMap::SetMedium(), Garfield::ComponentTcad2d::SetMedium(), Garfield::ComponentTcad3d::SetMedium(), Garfield::ComponentVoxel::SetMesh(), Garfield::ComponentNeBem2d::SetMinimumElementSize(), Garfield::ComponentNeBem2d::SetNumberOfCollocationPoints(), Garfield::ComponentNeBem2d::SetNumberOfDivisions(), Garfield::ComponentAnalyticField::SetPeriodicityX(), Garfield::ComponentAnalyticField::SetPeriodicityY(), Garfield::ComponentUser::SetPotential(), Garfield::ComponentFieldMap::SetRange(), Garfield::ComponentAnsys121::SetRangeZ(), Garfield::ComponentCST::SetRangeZ(), Garfield::ComponentTcad2d::SetRangeZ(), Garfield::ComponentComsol::SetWeightingField(), Garfield::ComponentAnsys121::SetWeightingField(), Garfield::ComponentAnsys123::SetWeightingField(), Garfield::ComponentElmer::SetWeightingField(), Garfield::ComponentCST::SetWeightingField(), Garfield::ComponentUser::SetWeightingField(), Garfield::ComponentConstant::SetWeightingPotential(), Garfield::ComponentUser::SetWeightingPotential(), Garfield::ComponentCST::ShiftComponent(), Garfield::ComponentTcad2d::UnsetDriftRegion(), Garfield::ComponentTcad3d::UnsetDriftRegion(), Garfield::ComponentUserMapBase::UpdatePeriodicity(), Garfield::ComponentFieldMap::UpdatePeriodicity2d(), Garfield::ComponentFieldMap::UpdatePeriodicityCommon(), WeightingField(), Garfield::ComponentConstant::WeightingField(), Garfield::ComponentUserMapBase::WeightingField(), WeightingPotential(), Garfield::ComponentCST::WeightingPotential(), and Garfield::ComponentUserMapBase::WeightingPotential().
|
protected |
Switch on/off debugging messages.
Definition at line 274 of file ComponentBase.hh.
Referenced by Garfield::ComponentNeBem2d::AddPanel(), Garfield::ComponentNeBem2d::AddWire(), Garfield::ComponentCST::Coordinate2Index(), DisableDebugging(), Garfield::ComponentAnsys121::ElectricField(), Garfield::ComponentAnsys123::ElectricField(), Garfield::ComponentComsol::ElectricField(), Garfield::ComponentElmer::ElectricField(), Garfield::ComponentTcad2d::ElectricField(), Garfield::ComponentTcad3d::ElectricField(), Garfield::ComponentUserMapBase::ElectricField(), Garfield::ComponentConstant::ElectricField(), Garfield::ComponentUser::ElectricField(), Garfield::ComponentTcad2d::ElectronAttachment(), Garfield::ComponentTcad2d::ElectronVelocity(), EnableDebugging(), Garfield::ComponentFieldMap::FindElement13(), Garfield::ComponentFieldMap::FindElement5(), Garfield::ComponentFieldMap::FindElementCube(), Garfield::ComponentTcad2d::GetAcceptorOccupation(), Garfield::ComponentTcad2d::GetDonorOccupation(), Garfield::ComponentTcad2d::GetElectronLifetime(), Garfield::ComponentTcad2d::GetHoleLifetime(), Garfield::ComponentAnsys121::GetMedium(), Garfield::ComponentAnsys123::GetMedium(), Garfield::ComponentComsol::GetMedium(), Garfield::ComponentCST::GetMedium(), Garfield::ComponentElmer::GetMedium(), Garfield::ComponentUserMapBase::GetMedium(), Garfield::ComponentTcad2d::GetMobility(), Garfield::ComponentTcad2d::HoleAttachment(), Garfield::ComponentTcad2d::HoleVelocity(), Garfield::ComponentTcad3d::Initialise(), Garfield::ComponentElmer::Initialise(), Garfield::ComponentCST::Initialise(), Garfield::ComponentAnsys121::Initialise(), Garfield::ComponentAnsys123::Initialise(), Garfield::ComponentAnalyticField::IsInTrapRadius(), MagneticField(), Garfield::ComponentFieldMap::SetMedium(), Garfield::ComponentFieldMap::SetRange(), Garfield::ComponentCST::SetWeightingField(), Garfield::ComponentUserMapBase::UpdatePeriodicity(), Garfield::ComponentFieldMap::UpdatePeriodicityCommon(), Garfield::ComponentAnsys121::WeightingField(), Garfield::ComponentAnsys123::WeightingField(), WeightingField(), Garfield::ComponentComsol::WeightingField(), Garfield::ComponentConstant::WeightingField(), Garfield::ComponentElmer::WeightingField(), Garfield::ComponentUserMapBase::WeightingField(), Garfield::ComponentAnsys121::WeightingPotential(), Garfield::ComponentAnsys123::WeightingPotential(), WeightingPotential(), Garfield::ComponentComsol::WeightingPotential(), Garfield::ComponentCST::WeightingPotential(), Garfield::ComponentElmer::WeightingPotential(), and Garfield::ComponentUserMapBase::WeightingPotential().
|
protected |
Pointer to the geometry.
Definition at line 236 of file ComponentBase.hh.
Referenced by Clear(), Garfield::ComponentAnalyticField::GetBoundingBox(), GetBoundingBox(), GetMedium(), Garfield::ComponentConstant::GetVoltageRange(), and SetGeometry().
|
protected |
Does the component have velocity maps?
Definition at line 244 of file ComponentBase.hh.
Referenced by ActivateVelocityMap(), DectivateVelocityMap(), and IsVelocityActive().
|
protected |
Ready for use?
Definition at line 239 of file ComponentBase.hh.
Referenced by Garfield::ComponentNeBem2d::AddPanel(), Garfield::ComponentNeBem2d::AddWire(), Garfield::ComponentFieldMap::DriftMedium(), Garfield::ComponentAnsys121::ElectricField(), Garfield::ComponentAnsys123::ElectricField(), Garfield::ComponentComsol::ElectricField(), Garfield::ComponentElmer::ElectricField(), Garfield::ComponentNeBem2d::ElectricField(), Garfield::ComponentTcad2d::ElectricField(), Garfield::ComponentTcad3d::ElectricField(), Garfield::ComponentVoxel::ElectricField(), Garfield::ComponentTcad2d::ElectronVelocity(), Garfield::ComponentTcad2d::GetAcceptorOccupation(), Garfield::ComponentFieldMap::GetBoundingBox(), Garfield::ComponentTcad2d::GetBoundingBox(), Garfield::ComponentTcad3d::GetBoundingBox(), Garfield::ComponentVoxel::GetBoundingBox(), Garfield::ComponentTcad2d::GetDonorOccupation(), Garfield::ComponentVoxel::GetElectricFieldRange(), Garfield::ComponentTcad2d::GetElectronLifetime(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentTcad2d::GetHoleLifetime(), Garfield::ComponentAnsys121::GetMedium(), Garfield::ComponentAnsys123::GetMedium(), Garfield::ComponentComsol::GetMedium(), Garfield::ComponentElmer::GetMedium(), Garfield::ComponentTcad2d::GetMedium(), Garfield::ComponentTcad3d::GetMedium(), Garfield::ComponentVoxel::GetMedium(), Garfield::ComponentTcad2d::GetMobility(), Garfield::ComponentTcad2d::GetVoltageRange(), Garfield::ComponentTcad3d::GetVoltageRange(), Garfield::ComponentVoxel::GetVoltageRange(), Garfield::ComponentTcad2d::HoleVelocity(), Garfield::ComponentTcad2d::Initialise(), Garfield::ComponentTcad3d::Initialise(), Garfield::ComponentElmer::Initialise(), Garfield::ComponentCST::Initialise(), Garfield::ComponentAnsys121::Initialise(), Garfield::ComponentAnsys123::Initialise(), Garfield::ComponentComsol::Initialise(), IsReady(), Garfield::ComponentVoxel::LoadElectricField(), Garfield::ComponentFieldMap::NotDriftMedium(), Garfield::ComponentFieldMap::PrintMaterials(), Garfield::ComponentTcad3d::PrintRegions(), Garfield::ComponentTcad2d::PrintRegions(), Garfield::ComponentVoxel::PrintRegions(), Garfield::ComponentConstant::SetElectricField(), Garfield::ComponentUser::SetElectricField(), Garfield::ComponentNeBem2d::SetMinimumElementSize(), Garfield::ComponentNeBem2d::SetNumberOfCollocationPoints(), Garfield::ComponentNeBem2d::SetNumberOfDivisions(), Garfield::ComponentFieldMap::SetRange(), Garfield::ComponentComsol::SetWeightingField(), Garfield::ComponentAnsys121::SetWeightingField(), Garfield::ComponentAnsys123::SetWeightingField(), Garfield::ComponentElmer::SetWeightingField(), Garfield::ComponentCST::SetWeightingField(), Garfield::ComponentFieldMap::UpdatePeriodicity2d(), Garfield::ComponentFieldMap::UpdatePeriodicityCommon(), Garfield::ComponentAnsys121::WeightingField(), Garfield::ComponentAnsys123::WeightingField(), Garfield::ComponentComsol::WeightingField(), Garfield::ComponentCST::WeightingField(), Garfield::ComponentElmer::WeightingField(), Garfield::ComponentAnsys121::WeightingPotential(), Garfield::ComponentAnsys123::WeightingPotential(), Garfield::ComponentComsol::WeightingPotential(), Garfield::ComponentCST::WeightingPotential(), and Garfield::ComponentElmer::WeightingPotential().
|
protected |
Axial periodicity in x.
Definition at line 259 of file ComponentBase.hh.
Referenced by EnableAxialPeriodicityX(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UnmapFields(), Garfield::ComponentFieldMap::UpdatePeriodicity2d(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Mirror periodicity in x.
Definition at line 253 of file ComponentBase.hh.
Referenced by EnableMirrorPeriodicityX(), Garfield::ComponentTcad2d::GetBoundingBox(), Garfield::ComponentTcad3d::GetBoundingBox(), Garfield::ComponentVoxel::GetBoundingBox(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Simple periodicity in x.
Definition at line 247 of file ComponentBase.hh.
Referenced by EnablePeriodicityX(), Garfield::ComponentTcad2d::GetBoundingBox(), Garfield::ComponentTcad3d::GetBoundingBox(), Garfield::ComponentVoxel::GetBoundingBox(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentAnalyticField::GetPeriodicityX(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentAnalyticField::SetPeriodicityX(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Rotation symmetry around x-axis.
Definition at line 265 of file ComponentBase.hh.
Referenced by EnableRotationSymmetryX(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UnmapFields(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Axial periodicity in y.
Definition at line 261 of file ComponentBase.hh.
Referenced by EnableAxialPeriodicityY(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UnmapFields(), Garfield::ComponentFieldMap::UpdatePeriodicity2d(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Mirror periodicity in y.
Definition at line 255 of file ComponentBase.hh.
Referenced by EnableMirrorPeriodicityY(), Garfield::ComponentTcad2d::GetBoundingBox(), Garfield::ComponentTcad3d::GetBoundingBox(), Garfield::ComponentVoxel::GetBoundingBox(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Simple periodicity in y.
Definition at line 249 of file ComponentBase.hh.
Referenced by EnablePeriodicityY(), Garfield::ComponentTcad2d::GetBoundingBox(), Garfield::ComponentTcad3d::GetBoundingBox(), Garfield::ComponentVoxel::GetBoundingBox(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentAnalyticField::GetPeriodicityY(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentAnalyticField::SetPeriodicityY(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Rotation symmetry around y-axis.
Definition at line 267 of file ComponentBase.hh.
Referenced by EnableRotationSymmetryY(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UnmapFields(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Axial periodicity in z.
Definition at line 263 of file ComponentBase.hh.
Referenced by EnableAxialPeriodicityZ(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UnmapFields(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Mirror periodicity in z.
Definition at line 257 of file ComponentBase.hh.
Referenced by EnableMirrorPeriodicityZ(), Garfield::ComponentTcad3d::GetBoundingBox(), Garfield::ComponentVoxel::GetBoundingBox(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UpdatePeriodicity2d(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Simple periodicity in z.
Definition at line 251 of file ComponentBase.hh.
Referenced by EnablePeriodicityZ(), Garfield::ComponentTcad3d::GetBoundingBox(), Garfield::ComponentVoxel::GetBoundingBox(), Garfield::ComponentVoxel::GetElement(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UpdatePeriodicity2d(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().
|
protected |
Rotation symmetry around z-axis.
Definition at line 269 of file ComponentBase.hh.
Referenced by EnableRotationSymmetryZ(), Garfield::ComponentFieldMap::MapCoordinates(), Garfield::ComponentFieldMap::PrintRange(), Garfield::ComponentFieldMap::UnmapFields(), and Garfield::ComponentFieldMap::UpdatePeriodicityCommon().