Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization 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_
struct { 
   double   Garfield::Magboltz::vdout 
   double   Garfield::Magboltz::vderr 
   double   Garfield::Magboltz::wsout 
   double   Garfield::Magboltz::wserr 
   double   Garfield::Magboltz::dlout 
   double   Garfield::Magboltz::dlerr 
   double   Garfield::Magboltz::dtout 
   double   Garfield::Magboltz::dterr 
   double   Garfield::Magboltz::alphasst 
   double   Garfield::Magboltz::alphaerr 
   double   Garfield::Magboltz::attsst 
   double   Garfield::Magboltz::atterr 
Garfield::Magboltz::sstout_