Garfield++ 4.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_