Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
Garfield::ComponentTcadBase< N > Class Template Referenceabstract

Interpolation in a field map created by Sentaurus Device. More...

#include <ComponentTcadBase.hh>

Inheritance diagram for Garfield::ComponentTcadBase< N >:

Classes

struct  Defect
struct  Element
struct  Region

Public Member Functions

 ComponentTcadBase ()=delete
 Default constructor.
 ComponentTcadBase (const std::string &name)
 Constructor.
virtual ~ComponentTcadBase ()
 Destructor.
bool Initialise (const std::string &gridfilename, const std::string &datafilename)
 Import mesh and field map from files.
bool SetWeightingField (const std::string &datfile1, const std::string &datfile2, const double dv, const std::string &label)
 Import field maps defining the prompt weighting field and potential.
bool SetWeightingPotential (const std::string &datfile1, const std::string &datfile2, const double dv, const std::string &label)
 Import field maps defining the prompt weighting field and potential.
bool SetWeightingFieldShift (const std::string &label, const double x, const double y, const double z)
 Shift the maps of weighting field/potential for a given electrode with respect to the original mesh.
bool SetDynamicWeightingPotential (const std::string &datfile1, const std::string &datfile2, const double dv, const double t, const std::string &label)
 Import time-dependent weighting potentials at t >= 0.
bool SetDynamicWeightingField (const std::string &datfile1, const std::string &datfile2, const double dv, const double t, const std::string &label)
 Import time-dependent weighting fields at t >= 0.
void PrintRegions () const
 List all currently defined regions.
size_t GetNumberOfRegions () const
 Get the number of regions in the device.
void GetRegion (const size_t ireg, std::string &name, bool &active) const
 Get the name and "active volume" flag of a region.
void SetDriftRegion (const size_t ireg)
 Make a region active ("driftable").
void UnsetDriftRegion (const size_t ireg)
 Make a region inactive.
void SetMedium (const size_t ireg, Medium *m)
 Set the medium to be associated to a given region.
void SetMedium (const std::string &material, Medium *m)
 Set the medium to be associated to all regions with a given material.
size_t GetNumberOfElements () const override
bool GetElementNodes (const size_t i, std::vector< size_t > &nodes) const override
bool GetElementRegion (const size_t i, size_t &region, bool &active) const override
size_t GetNumberOfNodes () const override
void EnableVelocityMap (const bool on)
 Switch use of the imported velocity map on/off.
size_t GetNumberOfDonors ()
 Get the number of donor states found in the map.
size_t GetNumberOfAcceptors ()
 Get the number of acceptor states found in the map.
bool SetDonor (const size_t donorNumber, const double exsec, const double hxsec, const double concentration)
 Set the properties of a donor-type defect state.
bool SetAcceptor (const size_t acceptorNumber, const double exsec, const double hxsec, const double concentration)
 Set the properties of an acceptor-type defect state.
void EnableAlphaMap (const bool on=true)
 Use the imported impact ionisation map or not.
void EnableTrapOccupationMap (const bool on=true)
 Use the imported trapping map or not.
void EnableLifetimeMap (const bool on=true)
 Use the imported lifetime map or not.
bool GetElectronMobility (const double x, const double y, const double z, double &mob)
 Get the electron mobility at a given point in the mesh.
bool GetHoleMobility (const double x, const double y, const double z, double &mob)
 Get the hole mobility at a given point in the mesh.
double ElectronLifetime (const double x, const double y, const double z)
double HoleLifetime (const double x, const double y, const double z)
void WeightingField (const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string &label) override
double WeightingPotential (const double x, const double y, const double z, const std::string &label) override
const std::vector< double > & DelayedSignalTimes (const std::string &label) override
void DelayedWeightingField (const double x, const double y, const double z, const double t, double &wx, double &wy, double &wz, const std::string &label) override
double DelayedWeightingPotential (const double x, const double y, const double z, const double t, const std::string &label) override
bool GetVoltageRange (double &vmin, double &vmax) override
bool HasVelocityMap () const override
bool ElectronVelocity (const double x, const double y, const double z, double &vx, double &vy, double &vz) override
bool HoleVelocity (const double x, const double y, const double z, double &vx, double &vy, double &vz) override
bool HasTownsendMap () const override
bool HasAttachmentMap () const override
bool HasMobilityMap () const override
bool ElectronAttachment (const double x, const double y, const double z, double &eta) override
bool HoleAttachment (const double x, const double y, const double z, double &eta) override
bool ElectronMobility (const double x, const double y, const double z, double &mu) override
bool HoleMobility (const double x, const double y, const double z, double &mu) override
bool ElectronTownsend (const double x, const double y, const double z, double &alpha) override
bool HoleTownsend (const double x, const double y, const double z, double &alpha) override

Protected Member Functions

void UpdatePeriodicity () override
void Cleanup ()
virtual bool Interpolate (const double x, const double y, const double z, const std::vector< double > &field, double &f)=0
virtual bool Interpolate (const double x, const double y, const double z, const std::vector< std::array< double, N > > &field, double &fx, double &fy, double &fz)=0
virtual void FillTree ()=0
size_t FindRegion (const std::string &name) const
void MapCoordinates (std::array< double, N > &x, std::array< bool, N > &mirr) const
bool InBoundingBox (const std::array< double, N > &x) const
void UpdateAttachment ()
void ComputeEtaFromLifetime ()
void ComputeEtaFromTraps ()
bool GetOffset (const std::string &label, double &dx, double &dy, double &dz) const
bool LoadGrid (const std::string &gridfilename)
bool LoadData (const std::string &datafilename)
bool ReadDataset (std::ifstream &datafile, const std::string &dataset)
bool LoadWeightingField (const std::string &datafilename, std::vector< std::array< double, N > > &wf, std::vector< double > &wp)

Static Protected Member Functions

static unsigned int ElementVertices (const Element &element)

Protected Attributes

std::vector< Regionm_regions
std::vector< std::array< double, N > > m_vertices
std::vector< Elementm_elements
std::vector< double > m_epot
std::vector< std::array< double, N > > m_efield
std::map< std::string, std::vector< std::array< double, N > > > m_wfield
std::map< std::string, std::vector< double > > m_wpot
std::map< std::string, std::vector< double > > m_wshift
std::map< std::string, std::vector< std::vector< std::array< double, N > > > > m_dwf
std::map< std::string, std::vector< std::vector< double > > > m_dwp
std::map< std::string, std::vector< double > > m_dwtf
std::map< std::string, std::vector< double > > m_dwtp
std::vector< std::array< double, N > > m_eVelocity
std::vector< std::array< double, N > > m_hVelocity
std::vector< double > m_eMobility
std::vector< double > m_hMobility
std::vector< double > m_eAlpha
std::vector< double > m_hAlpha
std::vector< double > m_eLifetime
std::vector< double > m_hLifetime
std::vector< std::vector< float > > m_donorOcc
std::vector< std::vector< float > > m_acceptorOcc
std::vector< double > m_eEta
std::vector< double > m_hEta
std::vector< Defectm_donors
std::vector< Defectm_acceptors
bool m_useVelocityMap = false
bool m_useTrapOccMap = false
bool m_useLifetimeMap = false
bool m_useAlphaMap = false
std::array< double, 3 > m_bbMin = {{0., 0., 0.}}
std::array< double, 3 > m_bbMax = {{0., 0., 0.}}
double m_pMin = 0.
double m_pMax = 0.

Static Protected Attributes

static constexpr size_t nMaxVertices = 4

Detailed Description

template<size_t N>
class Garfield::ComponentTcadBase< N >

Interpolation in a field map created by Sentaurus Device.

Definition at line 15 of file ComponentTcadBase.hh.

Constructor & Destructor Documentation

◆ ComponentTcadBase() [1/2]

template<size_t N>
Garfield::ComponentTcadBase< N >::ComponentTcadBase ( )
delete

Default constructor.

◆ ComponentTcadBase() [2/2]

template<size_t N>
Garfield::ComponentTcadBase< N >::ComponentTcadBase ( const std::string & name)
inline

Constructor.

Definition at line 20 of file ComponentTcadBase.hh.

20 : Component(name) {
21 m_regions.reserve(10);
22 m_vertices.reserve(10000);
23 m_elements.reserve(10000);
24 }
Interpolation in a field map created by Sentaurus Device.
std::vector< std::array< double, N > > m_vertices
std::vector< Element > m_elements
std::vector< Region > m_regions

◆ ~ComponentTcadBase()

template<size_t N>
virtual Garfield::ComponentTcadBase< N >::~ComponentTcadBase ( )
inlinevirtual

Destructor.

Definition at line 26 of file ComponentTcadBase.hh.

26{}

Member Function Documentation

◆ Cleanup()

template<size_t N>
void Garfield::ComponentTcadBase< N >::Cleanup ( )
protected

◆ ComputeEtaFromLifetime()

template<size_t N>
void Garfield::ComponentTcadBase< N >::ComputeEtaFromLifetime ( )
protected

◆ ComputeEtaFromTraps()

template<size_t N>
void Garfield::ComponentTcadBase< N >::ComputeEtaFromTraps ( )
protected

◆ DelayedSignalTimes()

template<size_t N>
const std::vector< double > & Garfield::ComponentTcadBase< N >::DelayedSignalTimes ( const std::string & label)
inlineoverride

Definition at line 135 of file ComponentTcadBase.hh.

136 {
137 if (m_dwtp.count(label) > 0) return m_dwtp[label];
138 static const std::vector<double> emptyVector;
139 return emptyVector;
140 }
std::map< std::string, std::vector< double > > m_dwtp

◆ DelayedWeightingField()

template<size_t N>
void Garfield::ComponentTcadBase< N >::DelayedWeightingField ( const double x,
const double y,
const double z,
const double t,
double & wx,
double & wy,
double & wz,
const std::string & label )
override

◆ DelayedWeightingPotential()

template<size_t N>
double Garfield::ComponentTcadBase< N >::DelayedWeightingPotential ( const double x,
const double y,
const double z,
const double t,
const std::string & label )
override

◆ ElectronAttachment()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::ElectronAttachment ( const double x,
const double y,
const double z,
double & eta )
override

◆ ElectronLifetime()

template<size_t N>
double Garfield::ComponentTcadBase< N >::ElectronLifetime ( const double x,
const double y,
const double z )

◆ ElectronMobility()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::ElectronMobility ( const double x,
const double y,
const double z,
double & mu )
override

◆ ElectronTownsend()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::ElectronTownsend ( const double x,
const double y,
const double z,
double & alpha )
override

◆ ElectronVelocity()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::ElectronVelocity ( const double x,
const double y,
const double z,
double & vx,
double & vy,
double & vz )
override

◆ ElementVertices()

template<size_t N>
unsigned int Garfield::ComponentTcadBase< N >::ElementVertices ( const Element & element)
inlinestaticprotected

Definition at line 299 of file ComponentTcadBase.hh.

299 {
300 return std::min(element.type + 1, 4U);
301 }

◆ EnableAlphaMap()

template<size_t N>
void Garfield::ComponentTcadBase< N >::EnableAlphaMap ( const bool on = true)
inline

Use the imported impact ionisation map or not.

Definition at line 113 of file ComponentTcadBase.hh.

◆ EnableLifetimeMap()

template<size_t N>
void Garfield::ComponentTcadBase< N >::EnableLifetimeMap ( const bool on = true)

Use the imported lifetime map or not.

◆ EnableTrapOccupationMap()

template<size_t N>
void Garfield::ComponentTcadBase< N >::EnableTrapOccupationMap ( const bool on = true)

Use the imported trapping map or not.

◆ EnableVelocityMap()

template<size_t N>
void Garfield::ComponentTcadBase< N >::EnableVelocityMap ( const bool on)

Switch use of the imported velocity map on/off.

◆ FillTree()

template<size_t N>
virtual void Garfield::ComponentTcadBase< N >::FillTree ( )
protectedpure virtual

◆ FindRegion()

template<size_t N>
size_t Garfield::ComponentTcadBase< N >::FindRegion ( const std::string & name) const
protected

◆ GetElectronMobility()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::GetElectronMobility ( const double x,
const double y,
const double z,
double & mob )

Get the electron mobility at a given point in the mesh.

◆ GetElementNodes()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::GetElementNodes ( const size_t i,
std::vector< size_t > & nodes ) const
override

◆ GetElementRegion()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::GetElementRegion ( const size_t i,
size_t & region,
bool & active ) const
override

◆ GetHoleMobility()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::GetHoleMobility ( const double x,
const double y,
const double z,
double & mob )

Get the hole mobility at a given point in the mesh.

◆ GetNumberOfAcceptors()

template<size_t N>
size_t Garfield::ComponentTcadBase< N >::GetNumberOfAcceptors ( )
inline

Get the number of acceptor states found in the map.

Definition at line 98 of file ComponentTcadBase.hh.

98{ return m_acceptors.size(); }
std::vector< Defect > m_acceptors

◆ GetNumberOfDonors()

template<size_t N>
size_t Garfield::ComponentTcadBase< N >::GetNumberOfDonors ( )
inline

Get the number of donor states found in the map.

Definition at line 96 of file ComponentTcadBase.hh.

96{ return m_donors.size(); }
std::vector< Defect > m_donors

◆ GetNumberOfElements()

template<size_t N>
size_t Garfield::ComponentTcadBase< N >::GetNumberOfElements ( ) const
inlineoverride

Definition at line 85 of file ComponentTcadBase.hh.

85{ return m_elements.size(); }

◆ GetNumberOfNodes()

template<size_t N>
size_t Garfield::ComponentTcadBase< N >::GetNumberOfNodes ( ) const
inlineoverride

Definition at line 90 of file ComponentTcadBase.hh.

90{ return m_vertices.size(); }

◆ GetNumberOfRegions()

template<size_t N>
size_t Garfield::ComponentTcadBase< N >::GetNumberOfRegions ( ) const
inline

Get the number of regions in the device.

Definition at line 73 of file ComponentTcadBase.hh.

73{ return m_regions.size(); }

◆ GetOffset()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::GetOffset ( const std::string & label,
double & dx,
double & dy,
double & dz ) const
protected

◆ GetRegion()

template<size_t N>
void Garfield::ComponentTcadBase< N >::GetRegion ( const size_t ireg,
std::string & name,
bool & active ) const

Get the name and "active volume" flag of a region.

◆ GetVoltageRange()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::GetVoltageRange ( double & vmin,
double & vmax )
override

◆ HasAttachmentMap()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HasAttachmentMap ( ) const
inlineoverride

Definition at line 161 of file ComponentTcadBase.hh.

161 {
162 return ((m_useTrapOccMap || m_useLifetimeMap) &&
163 !(m_eEta.empty() && m_hEta.empty()));
164 }

◆ HasMobilityMap()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HasMobilityMap ( ) const
inlineoverride

Definition at line 165 of file ComponentTcadBase.hh.

165 {
166 return !(m_eMobility.empty() && m_hMobility.empty());
167 }
std::vector< double > m_hMobility
std::vector< double > m_eMobility

◆ HasTownsendMap()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HasTownsendMap ( ) const
inlineoverride

Definition at line 158 of file ComponentTcadBase.hh.

158 {
159 return m_useAlphaMap && !(m_eAlpha.empty() && m_hAlpha.empty());
160 }
std::vector< double > m_hAlpha
std::vector< double > m_eAlpha

◆ HasVelocityMap()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HasVelocityMap ( ) const
inlineoverride

Definition at line 150 of file ComponentTcadBase.hh.

150 {
151 return m_useVelocityMap && !(m_eVelocity.empty() && m_hVelocity.empty());
152 }
std::vector< std::array< double, N > > m_hVelocity
std::vector< std::array< double, N > > m_eVelocity

◆ HoleAttachment()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HoleAttachment ( const double x,
const double y,
const double z,
double & eta )
override

◆ HoleLifetime()

template<size_t N>
double Garfield::ComponentTcadBase< N >::HoleLifetime ( const double x,
const double y,
const double z )

◆ HoleMobility()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HoleMobility ( const double x,
const double y,
const double z,
double & mu )
override

◆ HoleTownsend()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HoleTownsend ( const double x,
const double y,
const double z,
double & alpha )
override

◆ HoleVelocity()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::HoleVelocity ( const double x,
const double y,
const double z,
double & vx,
double & vy,
double & vz )
override

◆ InBoundingBox()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::InBoundingBox ( const std::array< double, N > & x) const
inlineprotected

Definition at line 312 of file ComponentTcadBase.hh.

312 {
313 for (size_t i = 0; i < N; ++i) {
314 if (x[i] < m_bbMin[i] || x[i] > m_bbMax[i]) return false;
315 }
316 return true;
317 }
std::array< double, 3 > m_bbMax
std::array< double, 3 > m_bbMin

◆ Initialise()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::Initialise ( const std::string & gridfilename,
const std::string & datafilename )

Import mesh and field map from files.

Parameters
gridfilenamename of the .grd file containing the mesh
datafilenamename of the .dat file containing the nodal solution

◆ Interpolate() [1/2]

template<size_t N>
virtual bool Garfield::ComponentTcadBase< N >::Interpolate ( const double x,
const double y,
const double z,
const std::vector< double > & field,
double & f )
protectedpure virtual

◆ Interpolate() [2/2]

template<size_t N>
virtual bool Garfield::ComponentTcadBase< N >::Interpolate ( const double x,
const double y,
const double z,
const std::vector< std::array< double, N > > & field,
double & fx,
double & fy,
double & fz )
protectedpure virtual

◆ LoadData()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::LoadData ( const std::string & datafilename)
protected

◆ LoadGrid()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::LoadGrid ( const std::string & gridfilename)
protected

◆ LoadWeightingField()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::LoadWeightingField ( const std::string & datafilename,
std::vector< std::array< double, N > > & wf,
std::vector< double > & wp )
protected

◆ MapCoordinates()

template<size_t N>
void Garfield::ComponentTcadBase< N >::MapCoordinates ( std::array< double, N > & x,
std::array< bool, N > & mirr ) const
protected

◆ PrintRegions()

template<size_t N>
void Garfield::ComponentTcadBase< N >::PrintRegions ( ) const

List all currently defined regions.

◆ ReadDataset()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::ReadDataset ( std::ifstream & datafile,
const std::string & dataset )
protected

◆ SetAcceptor()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::SetAcceptor ( const size_t acceptorNumber,
const double exsec,
const double hxsec,
const double concentration )

Set the properties of an acceptor-type defect state.

◆ SetDonor()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::SetDonor ( const size_t donorNumber,
const double exsec,
const double hxsec,
const double concentration )

Set the properties of a donor-type defect state.

Parameters
donorNumberindex of the donor
exseccross-section [cm2] for electrons
hxseccross-section [cm2] for holes
concentrationdefect density [cm-3]

◆ SetDriftRegion()

template<size_t N>
void Garfield::ComponentTcadBase< N >::SetDriftRegion ( const size_t ireg)

Make a region active ("driftable").

◆ SetDynamicWeightingField()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::SetDynamicWeightingField ( const std::string & datfile1,
const std::string & datfile2,
const double dv,
const double t,
const std::string & label )

Import time-dependent weighting fields at t >= 0.

◆ SetDynamicWeightingPotential()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::SetDynamicWeightingPotential ( const std::string & datfile1,
const std::string & datfile2,
const double dv,
const double t,
const std::string & label )

Import time-dependent weighting potentials at t >= 0.

◆ SetMedium() [1/2]

template<size_t N>
void Garfield::ComponentTcadBase< N >::SetMedium ( const size_t ireg,
Medium * m )

Set the medium to be associated to a given region.

◆ SetMedium() [2/2]

template<size_t N>
void Garfield::ComponentTcadBase< N >::SetMedium ( const std::string & material,
Medium * m )

Set the medium to be associated to all regions with a given material.

◆ SetWeightingField()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::SetWeightingField ( const std::string & datfile1,
const std::string & datfile2,
const double dv,
const std::string & label )

Import field maps defining the prompt weighting field and potential.

Parameters
datfile1.dat file containing the field map at nominal bias.
datfile2.dat file containing the field map for a configuration with the potential at the electrode to be read out increased by a small voltage dv.
dvincrease in electrode potential between the two field maps.
labelname of the electrode

The field maps must use the same mesh as the drift field.

◆ SetWeightingFieldShift()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::SetWeightingFieldShift ( const std::string & label,
const double x,
const double y,
const double z )

Shift the maps of weighting field/potential for a given electrode with respect to the original mesh.

If the electrode does not exist yet, a new one will be added to the list.

◆ SetWeightingPotential()

template<size_t N>
bool Garfield::ComponentTcadBase< N >::SetWeightingPotential ( const std::string & datfile1,
const std::string & datfile2,
const double dv,
const std::string & label )
inline

Import field maps defining the prompt weighting field and potential.

Definition at line 50 of file ComponentTcadBase.hh.

52 {
54 }
bool SetWeightingField(const std::string &datfile1, const std::string &datfile2, const double dv, const std::string &label)
Import field maps defining the prompt weighting field and potential.

◆ UnsetDriftRegion()

template<size_t N>
void Garfield::ComponentTcadBase< N >::UnsetDriftRegion ( const size_t ireg)

Make a region inactive.

◆ UpdateAttachment()

template<size_t N>
void Garfield::ComponentTcadBase< N >::UpdateAttachment ( )
protected

◆ UpdatePeriodicity()

template<size_t N>
void Garfield::ComponentTcadBase< N >::UpdatePeriodicity ( )
overrideprotected

◆ WeightingField()

template<size_t N>
void Garfield::ComponentTcadBase< N >::WeightingField ( const double x,
const double y,
const double z,
double & wx,
double & wy,
double & wz,
const std::string & label )
override

◆ WeightingPotential()

template<size_t N>
double Garfield::ComponentTcadBase< N >::WeightingPotential ( const double x,
const double y,
const double z,
const std::string & label )
override

Member Data Documentation

◆ m_acceptorOcc

template<size_t N>
std::vector<std::vector<float> > Garfield::ComponentTcadBase< N >::m_acceptorOcc
protected

Definition at line 262 of file ComponentTcadBase.hh.

◆ m_acceptors

template<size_t N>
std::vector<Defect> Garfield::ComponentTcadBase< N >::m_acceptors
protected

Definition at line 276 of file ComponentTcadBase.hh.

◆ m_bbMax

template<size_t N>
std::array<double, 3> Garfield::ComponentTcadBase< N >::m_bbMax = {{0., 0., 0.}}
protected

Definition at line 289 of file ComponentTcadBase.hh.

289{{0., 0., 0.}};

◆ m_bbMin

template<size_t N>
std::array<double, 3> Garfield::ComponentTcadBase< N >::m_bbMin = {{0., 0., 0.}}
protected

Definition at line 288 of file ComponentTcadBase.hh.

288{{0., 0., 0.}};

◆ m_donorOcc

template<size_t N>
std::vector<std::vector<float> > Garfield::ComponentTcadBase< N >::m_donorOcc
protected

Definition at line 261 of file ComponentTcadBase.hh.

◆ m_donors

template<size_t N>
std::vector<Defect> Garfield::ComponentTcadBase< N >::m_donors
protected

Definition at line 275 of file ComponentTcadBase.hh.

◆ m_dwf

template<size_t N>
std::map<std::string, std::vector<std::vector<std::array<double, N> > > > Garfield::ComponentTcadBase< N >::m_dwf
protected

Definition at line 242 of file ComponentTcadBase.hh.

◆ m_dwp

template<size_t N>
std::map<std::string, std::vector<std::vector<double> > > Garfield::ComponentTcadBase< N >::m_dwp
protected

Definition at line 243 of file ComponentTcadBase.hh.

◆ m_dwtf

template<size_t N>
std::map<std::string, std::vector<double> > Garfield::ComponentTcadBase< N >::m_dwtf
protected

Definition at line 245 of file ComponentTcadBase.hh.

◆ m_dwtp

template<size_t N>
std::map<std::string, std::vector<double> > Garfield::ComponentTcadBase< N >::m_dwtp
protected

Definition at line 246 of file ComponentTcadBase.hh.

◆ m_eAlpha

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_eAlpha
protected

Definition at line 255 of file ComponentTcadBase.hh.

◆ m_eEta

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_eEta
protected

Definition at line 264 of file ComponentTcadBase.hh.

◆ m_efield

template<size_t N>
std::vector<std::array<double, N> > Garfield::ComponentTcadBase< N >::m_efield
protected

Definition at line 232 of file ComponentTcadBase.hh.

◆ m_elements

template<size_t N>
std::vector<Element> Garfield::ComponentTcadBase< N >::m_elements
protected

Definition at line 227 of file ComponentTcadBase.hh.

◆ m_eLifetime

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_eLifetime
protected

Definition at line 258 of file ComponentTcadBase.hh.

◆ m_eMobility

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_eMobility
protected

Definition at line 252 of file ComponentTcadBase.hh.

◆ m_epot

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_epot
protected

Definition at line 230 of file ComponentTcadBase.hh.

◆ m_eVelocity

template<size_t N>
std::vector<std::array<double, N> > Garfield::ComponentTcadBase< N >::m_eVelocity
protected

Definition at line 249 of file ComponentTcadBase.hh.

◆ m_hAlpha

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_hAlpha
protected

Definition at line 256 of file ComponentTcadBase.hh.

◆ m_hEta

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_hEta
protected

Definition at line 265 of file ComponentTcadBase.hh.

◆ m_hLifetime

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_hLifetime
protected

Definition at line 259 of file ComponentTcadBase.hh.

◆ m_hMobility

template<size_t N>
std::vector<double> Garfield::ComponentTcadBase< N >::m_hMobility
protected

Definition at line 253 of file ComponentTcadBase.hh.

◆ m_hVelocity

template<size_t N>
std::vector<std::array<double, N> > Garfield::ComponentTcadBase< N >::m_hVelocity
protected

Definition at line 250 of file ComponentTcadBase.hh.

◆ m_pMax

template<size_t N>
double Garfield::ComponentTcadBase< N >::m_pMax = 0.
protected

Definition at line 293 of file ComponentTcadBase.hh.

◆ m_pMin

template<size_t N>
double Garfield::ComponentTcadBase< N >::m_pMin = 0.
protected

Definition at line 292 of file ComponentTcadBase.hh.

◆ m_regions

template<size_t N>
std::vector<Region> Garfield::ComponentTcadBase< N >::m_regions
protected

Definition at line 197 of file ComponentTcadBase.hh.

◆ m_useAlphaMap

template<size_t N>
bool Garfield::ComponentTcadBase< N >::m_useAlphaMap = false
protected

Definition at line 285 of file ComponentTcadBase.hh.

◆ m_useLifetimeMap

template<size_t N>
bool Garfield::ComponentTcadBase< N >::m_useLifetimeMap = false
protected

Definition at line 283 of file ComponentTcadBase.hh.

◆ m_useTrapOccMap

template<size_t N>
bool Garfield::ComponentTcadBase< N >::m_useTrapOccMap = false
protected

Definition at line 281 of file ComponentTcadBase.hh.

◆ m_useVelocityMap

template<size_t N>
bool Garfield::ComponentTcadBase< N >::m_useVelocityMap = false
protected

Definition at line 279 of file ComponentTcadBase.hh.

◆ m_vertices

template<size_t N>
std::vector<std::array<double, N> > Garfield::ComponentTcadBase< N >::m_vertices
protected

Definition at line 200 of file ComponentTcadBase.hh.

◆ m_wfield

template<size_t N>
std::map<std::string, std::vector<std::array<double, N> > > Garfield::ComponentTcadBase< N >::m_wfield
protected

Definition at line 235 of file ComponentTcadBase.hh.

◆ m_wpot

template<size_t N>
std::map<std::string, std::vector<double> > Garfield::ComponentTcadBase< N >::m_wpot
protected

Definition at line 236 of file ComponentTcadBase.hh.

◆ m_wshift

template<size_t N>
std::map<std::string, std::vector<double> > Garfield::ComponentTcadBase< N >::m_wshift
protected

Definition at line 238 of file ComponentTcadBase.hh.

◆ nMaxVertices

template<size_t N>
size_t Garfield::ComponentTcadBase< N >::nMaxVertices = 4
staticconstexprprotected

Definition at line 184 of file ComponentTcadBase.hh.


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