Garfield++ 5.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
MagboltzInterface.hh File Reference
#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  Garfield
 
namespace  Garfield::Magboltz
 

Functions

void Garfield::Magboltz::gasmix_ (std::int64_t *ngs, double *q, double *qin, std::int64_t *nin, double *e, double *ei, char *name, double *virl, double *eb, double *peqel, double *peqin, double *penfra, std::int64_t *kel, std::int64_t *kin, double *qion, double *peqion, double *eion, std::int64_t *nion, double *qatt, std::int64_t *natt, double *qnull, std::int64_t *nnull, double *scln, std::int64_t *nc0, double *ec0, double *wk, double *efl, std::int64_t *ng1, double *eg1, std::int64_t *ng2, double *eg2, char scrpt[nMaxLevelsPerComponent][nCharDescr], char scrptn[nMaxNullTerms][nCharDescr], short namelen, short scrpt_len, short scrptn_len)
 
void Garfield::Magboltz::colf_ (double *freq, double *freel, double *freion, double *freatt, double *frein, std::int64_t *ntotal)
 
void Garfield::Magboltz::colft_ (double *freq, double *freel, double *freion, double *freatt, double *frein, std::int64_t *ntotal)
 
void Garfield::Magboltz::magboltz_ ()
 

Variables

constexpr unsigned int Garfield::Magboltz::nEnergySteps = 4000
 
constexpr unsigned int Garfield::Magboltz::nMaxIonisationTerms = 30
 
constexpr unsigned int Garfield::Magboltz::nMaxInelasticTerms = 250
 
constexpr unsigned int Garfield::Magboltz::nMaxAttachmentTerms = 8
 
constexpr unsigned int Garfield::Magboltz::nMaxNullTerms = 10
 
constexpr unsigned int Garfield::Magboltz::nMaxLevelsPerComponent = 300
 
constexpr unsigned int Garfield::Magboltz::nCharName = 25
 
constexpr unsigned int Garfield::Magboltz::nCharDescr = 50
 
constexpr unsigned int Garfield::Magboltz::nMaxLevels = 960
 
constexpr unsigned int Garfield::Magboltz::nMaxComponents = 6
 
struct { 
 
   double   Garfield::Magboltz::eovb 
 
   double   Garfield::Magboltz::wb 
 
   double   Garfield::Magboltz::btheta 
 
   double   Garfield::Magboltz::bmag 
 
Garfield::Magboltz::bfld_ 
 
struct { 
 
   std::int64_t   Garfield::Magboltz::nGas 
 
   std::int64_t   Garfield::Magboltz::nStep 
 
   std::int64_t   Garfield::Magboltz::nAniso 
 
   double   Garfield::Magboltz::efinal 
 
   double   Garfield::Magboltz::estep 
 
   double   Garfield::Magboltz::akt 
 
   double   Garfield::Magboltz::ary 
 
   double   Garfield::Magboltz::tempc 
 
   double   Garfield::Magboltz::torr 
 
   std::int64_t   Garfield::Magboltz::ipen 
 
Garfield::Magboltz::inpt_ 
 
struct { 
 
   double   Garfield::Magboltz::tmax 
 
   double   Garfield::Magboltz::small 
 
   double   Garfield::Magboltz::api 
 
   double   Garfield::Magboltz::estart 
 
   double   Garfield::Magboltz::theta 
 
   double   Garfield::Magboltz::phi 
 
   double   Garfield::Magboltz::rstart 
 
   double   Garfield::Magboltz::efield 
 
   std::int64_t   Garfield::Magboltz::nmax 
 
Garfield::Magboltz::setp_ 
 
struct { 
 
   double   Garfield::Magboltz::amgas [6] 
 
   double   Garfield::Magboltz::vtmb [6] 
 
   double   Garfield::Magboltz::tcfmx 
 
   double   Garfield::Magboltz::tcfmxg [6] 
 
   std::int64_t   Garfield::Magboltz::ithrm 
 
Garfield::Magboltz::thrm_ 
 
struct { 
 
   double   Garfield::Magboltz::echarg 
 
   double   Garfield::Magboltz::emass 
 
   double   Garfield::Magboltz::amu 
 
   double   Garfield::Magboltz::pir2 
 
Garfield::Magboltz::cnsts_ 
 
struct { 
 
   double   Garfield::Magboltz::eg [nEnergySteps
 
   double   Garfield::Magboltz::eroot [nEnergySteps
 
   double   Garfield::Magboltz::qt1 [nEnergySteps
 
   double   Garfield::Magboltz::qt2 [nEnergySteps
 
   double   Garfield::Magboltz::qt3 [nEnergySteps
 
   double   Garfield::Magboltz::qt4 [nEnergySteps
 
Garfield::Magboltz::mix2_ 
 
struct { 
 
   double   Garfield::Magboltz::den [nEnergySteps
 
Garfield::Magboltz::dens_ 
 
struct { 
 
   double   Garfield::Magboltz::time [300] 
 
   std::int64_t   Garfield::Magboltz::icoll [30] 
 
   double   Garfield::Magboltz::spec [nEnergySteps
 
   double   Garfield::Magboltz::tmax1 
 
   double   Garfield::Magboltz::ave 
 
   double   Garfield::Magboltz::den 
 
   double   Garfield::Magboltz::xid 
 
   double   Garfield::Magboltz::x 
 
   double   Garfield::Magboltz::y 
 
   double   Garfield::Magboltz::z 
 
   double   Garfield::Magboltz::st 
 
   std::int64_t   Garfield::Magboltz::nnull 
 
   std::int64_t   Garfield::Magboltz::icoln [nMaxLevels
 
   std::int64_t   Garfield::Magboltz::icolnn [60] 
 
Garfield::Magboltz::outpt_ 
 
struct { 
 
   double   Garfield::Magboltz::time [300] 
 
   std::int64_t   Garfield::Magboltz::icoll [5][nMaxComponents
 
   double   Garfield::Magboltz::spec [nEnergySteps
 
   double   Garfield::Magboltz::tmax1 
 
   double   Garfield::Magboltz::ave 
 
   double   Garfield::Magboltz::den 
 
   double   Garfield::Magboltz::xid 
 
   double   Garfield::Magboltz::x 
 
   double   Garfield::Magboltz::y 
 
   double   Garfield::Magboltz::z 
 
   double   Garfield::Magboltz::st 
 
   std::int64_t   Garfield::Magboltz::nnull 
 
   std::int64_t   Garfield::Magboltz::icoln [290][nMaxComponents
 
   std::int64_t   Garfield::Magboltz::icolnn [10][nMaxComponents
 
Garfield::Magboltz::outptt_ 
 
struct { 
 
   char   Garfield::Magboltz::dscrpt [nMaxLevels][nCharDescr
 
   char   Garfield::Magboltz::dscrptn [60][nCharDescr
 
Garfield::Magboltz::scrip_ 
 
struct { 
 
   char   Garfield::Magboltz::dscrpt [nMaxLevelsPerComponent][nMaxComponents][nCharDescr
 
   char   Garfield::Magboltz::dscrptn [10][nMaxComponents][nCharDescr
 
Garfield::Magboltz::script_ 
 
struct { 
 
   double   Garfield::Magboltz::cf [nMaxLevels][nEnergySteps
 
   double   Garfield::Magboltz::ein [nMaxLevels
 
   double   Garfield::Magboltz::tcf [nEnergySteps
 
   std::int64_t   Garfield::Magboltz::iarry [nMaxLevels
 
   double   Garfield::Magboltz::rgas [nMaxLevels
 
   double   Garfield::Magboltz::ipn [nMaxLevels
 
   double   Garfield::Magboltz::wpl [nMaxLevels
 
   std::int64_t   Garfield::Magboltz::last 
 
   std::int64_t   Garfield::Magboltz::isize 
 
   double   Garfield::Magboltz::penfra [nMaxLevels][3] 
 
   double   Garfield::Magboltz::tcfmax [8] 
 
Garfield::Magboltz::large_ 
 
struct { 
 
   double   Garfield::Magboltz::cf [290][nEnergySteps][nMaxComponents
 
   double   Garfield::Magboltz::ein [290][nMaxComponents
 
   double   Garfield::Magboltz::tcf [nEnergySteps][nMaxComponents
 
   std::int64_t   Garfield::Magboltz::iarry [290][nMaxComponents
 
   double   Garfield::Magboltz::rgas [290][nMaxComponents
 
   double   Garfield::Magboltz::ipn [290][nMaxComponents
 
   double   Garfield::Magboltz::wpl [290][nMaxComponents
 
   std::int64_t   Garfield::Magboltz::last [nMaxComponents
 
   std::int64_t   Garfield::Magboltz::isize [nMaxComponents
 
   double   Garfield::Magboltz::penfra [290][3][nMaxComponents
 
   double   Garfield::Magboltz::tcfmax [nMaxComponents
 
Garfield::Magboltz::larget_ 
 
struct { 
 
   std::int64_t   Garfield::Magboltz::ngasn [6] 
 
Garfield::Magboltz::gasn_ 
 
struct { 
 
   double   Garfield::Magboltz::an1 
 
   double   Garfield::Magboltz::an2 
 
   double   Garfield::Magboltz::an3 
 
   double   Garfield::Magboltz::an4 
 
   double   Garfield::Magboltz::an5 
 
   double   Garfield::Magboltz::an6 
 
   double   Garfield::Magboltz::an 
 
   double   Garfield::Magboltz::frac [6] 
 
Garfield::Magboltz::ratio_ 
 
struct { 
 
   double   Garfield::Magboltz::wx 
 
   double   Garfield::Magboltz::wy 
 
   double   Garfield::Magboltz::wz 
 
Garfield::Magboltz::vel_ 
 
struct { 
 
   double   Garfield::Magboltz::dwx 
 
   double   Garfield::Magboltz::dwy 
 
   double   Garfield::Magboltz::dwz 
 
Garfield::Magboltz::velerr_ 
 
struct { 
 
   double   Garfield::Magboltz::difxx 
 
   double   Garfield::Magboltz::difyy 
 
   double   Garfield::Magboltz::difzz 
 
   double   Garfield::Magboltz::difyz 
 
   double   Garfield::Magboltz::difxy 
 
   double   Garfield::Magboltz::difxz 
 
Garfield::Magboltz::diflab_ 
 
struct { 
 
   double   Garfield::Magboltz::dxxer 
 
   double   Garfield::Magboltz::dyyer 
 
   double   Garfield::Magboltz::dzzer 
 
   double   Garfield::Magboltz::dyzer 
 
   double   Garfield::Magboltz::dxyer 
 
   double   Garfield::Magboltz::dxzer 
 
Garfield::Magboltz::diferb_ 
 
struct { 
 
   double   Garfield::Magboltz::difln 
 
   double   Garfield::Magboltz::diftr 
 
Garfield::Magboltz::difvel_ 
 
struct { 
 
   double   Garfield::Magboltz::dfler 
 
   double   Garfield::Magboltz::dfter 
 
Garfield::Magboltz::diferl_ 
 
struct { 
 
   double   Garfield::Magboltz::alpha 
 
   double   Garfield::Magboltz::att 
 
Garfield::Magboltz::ctowns_ 
 
struct { 
 
   double   Garfield::Magboltz::alper 
 
   double   Garfield::Magboltz::atter 
 
Garfield::Magboltz::ctwner_ 
 
struct { 
 
   double   Garfield::Magboltz::ralpha 
 
   double   Garfield::Magboltz::ralper 
 
   double   Garfield::Magboltz::tofene 
 
   double   Garfield::Magboltz::tofener 
 
   double   Garfield::Magboltz::tofwv 
 
   double   Garfield::Magboltz::tofwver 
 
   double   Garfield::Magboltz::tofdl 
 
   double   Garfield::Magboltz::tofdler 
 
   double   Garfield::Magboltz::tofdt 
 
   double   Garfield::Magboltz::tofdter 
 
   double   Garfield::Magboltz::tofwr 
 
   double   Garfield::Magboltz::tofwrer 
 
   double   Garfield::Magboltz::rattof 
 
   double   Garfield::Magboltz::ratofer 
 
Garfield::Magboltz::tofout_