Garfield++ 5.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include "Isles.h"
#include <complex.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <gsl/gsl_sf.h>
Go to the source code of this file.
Macros | |
#define | DEFINE_ISLESGLOBAL |
#define | SHIFT 2.0 |
#define | ARMAX 10000.0 |
#define | ARMIN 0.0001 |
#define | XNSegApprox 100 |
#define | ZNSegApprox 100 |
Functions | |
int | ExactRecSurf (double X, double Y, double Z, double xlo, double zlo, double xhi, double zhi, double *Potential, Vector3D *Flux) |
int | ApproxRecSurf (double X, double Y, double Z, double xlo, double zlo, double xhi, double zhi, int xseg, int zseg, double *Potential, Vector3D *Flux) |
int | ExactTriSurf (double zMax, double X, double Y, double Z, double *Potential, Vector3D *Flux) |
int | ApproxTriSurf (double zMax, double X, double Y, double Z, int nbxseg, int nbzseg, double *Potential, Vector3D *Flux) |
double | ExactCentroidalP_W (double rW, double lW) |
double | ExactAxialP_W (double rW, double lW, double Z) |
double | ExactAxialFZ_W (double rW, double lW, double Z) |
double | ApproxP_W (double rW, double lW, double X, double Y, double Z, int zseg) |
double | ApproxFX_W (double rW, double lW, double X, double Y, double Z, int zseg) |
double | ApproxFY_W (double rW, double lW, double X, double Y, double Z, int zseg) |
double | ApproxFZ_W (double rW, double lW, double X, double Y, double Z, int zseg) |
int | ApproxWire (double rW, double lW, double X, double Y, double Z, int zseg, double *potential, Vector3D *Flux) |
double | ImprovedP_W (double rW, double lW, double X, double Y, double Z) |
double | ImprovedFX_W (double rW, double lW, double X, double Y, double Z) |
double | ImprovedFY_W (double rW, double lW, double X, double Y, double Z) |
double | ImprovedFZ_W (double rW, double lW, double X, double Y, double Z) |
int | ImprovedWire (double rW, double lW, double X, double Y, double Z, double *potential, Vector3D *Flux) |
double | ExactThinP_W (double rW, double lW, double X, double Y, double Z) |
double | ExactThinFX_W (double rW, double lW, double X, double Y, double Z) |
double | ExactThinFY_W (double rW, double lW, double X, double Y, double Z) |
double | ExactThinFZ_W (double rW, double lW, double X, double Y, double Z) |
int | ExactThinWire (double rW, double lW, double X, double Y, double Z, double *potential, Vector3D *Flux) |
ISLESGLOBAL int | ExactRingPF (double a, Point3D localPt, double *potential, Vector3D *Flux) |
double | PointKnChPF (Point3D SourcePt, Point3D FieldPt, Vector3D *globalF) |
double | LineKnChPF (Point3D LineStart, Point3D LineStop, Point3D FieldPt, Vector3D *globalF) |
double | WireKnChPF (Point3D WireStart, Point3D WireStop, double radius, Point3D FieldPt, Vector3D *globalF) |
double | AreaKnChPF (int NbVertices, Point3D *Vertex, Point3D FieldPt, Vector3D *globalF) |
double | ApproxVolumeKnChPF (int, Point3D *, Point3D, Vector3D *globalF) |
double | VolumeKnChPF (int, Point3D *, Point3D, Vector3D *globalF) |
int | Sign (double x) |
#define ARMAX 10000.0 |
Definition at line 17 of file Isles.c.
Referenced by ExactRecSurf(), and ExactTriSurf().
#define ARMIN 0.0001 |
Definition at line 18 of file Isles.c.
Referenced by ExactRecSurf(), and ExactTriSurf().
#define SHIFT 2.0 |
Definition at line 16 of file Isles.c.
Referenced by ExactRecSurf(), and ExactTriSurf().
#define XNSegApprox 100 |
Definition at line 22 of file Isles.c.
Referenced by ExactRecSurf(), and ExactTriSurf().
#define ZNSegApprox 100 |
Definition at line 23 of file Isles.c.
Referenced by ExactRecSurf(), and ExactTriSurf().
double ApproxFX_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z, | ||
int | zseg ) |
Definition at line 1837 of file Isles.c.
double ApproxFY_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z, | ||
int | zseg ) |
Definition at line 1859 of file Isles.c.
double ApproxFZ_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z, | ||
int | zseg ) |
Definition at line 1881 of file Isles.c.
double ApproxP_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z, | ||
int | zseg ) |
Definition at line 1816 of file Isles.c.
int ApproxRecSurf | ( | double | X, |
double | Y, | ||
double | Z, | ||
double | xlo, | ||
double | zlo, | ||
double | xhi, | ||
double | zhi, | ||
int | xseg, | ||
int | zseg, | ||
double * | Potential, | ||
Vector3D * | Flux ) |
Definition at line 706 of file Isles.c.
Referenced by ExactRecSurf().
int ApproxTriSurf | ( | double | zMax, |
double | X, | ||
double | Y, | ||
double | Z, | ||
int | nbxseg, | ||
int | nbzseg, | ||
double * | Potential, | ||
Vector3D * | Flux ) |
Definition at line 1666 of file Isles.c.
Referenced by ExactTriSurf().
int ApproxWire | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z, | ||
int | zseg, | ||
double * | potential, | ||
Vector3D * | Flux ) |
Definition at line 1903 of file Isles.c.
Definition at line 2694 of file Isles.c.
Referenced by ContinuityChUp(), ContinuityKnCh(), KnChPFAtPoint(), ValueChUp(), and ValueKnCh().
double ExactAxialFZ_W | ( | double | rW, |
double | lW, | ||
double | Z ) |
double ExactAxialP_W | ( | double | rW, |
double | lW, | ||
double | Z ) |
Definition at line 1792 of file Isles.c.
Referenced by WireKnChPF(), WirePF(), WirePot(), and WirePrimPF().
double ExactCentroidalP_W | ( | double | rW, |
double | lW ) |
Definition at line 1782 of file Isles.c.
Referenced by WireKnChPF(), WirePF(), WirePot(), and WirePrimPF().
int ExactRecSurf | ( | double | X, |
double | Y, | ||
double | Z, | ||
double | xlo, | ||
double | zlo, | ||
double | xhi, | ||
double | zhi, | ||
double * | Potential, | ||
Vector3D * | Flux ) |
Definition at line 42 of file Isles.c.
Referenced by AreaKnChPF(), ExactRecSurf(), RecFlux(), RecPF(), RecPot(), and RecPrimPF().
ISLESGLOBAL int ExactRingPF | ( | double | a, |
Point3D | localPt, | ||
double * | potential, | ||
Vector3D * | Flux ) |
Definition at line 2193 of file Isles.c.
double ExactThinFX_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 2108 of file Isles.c.
Referenced by WireFlux(), and WireKnChPF().
double ExactThinFY_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 2128 of file Isles.c.
Referenced by WireFlux(), and WireKnChPF().
double ExactThinFZ_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 2148 of file Isles.c.
Referenced by WireFlux(), WireKnChPF(), WirePF(), and WirePrimPF().
double ExactThinP_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 2092 of file Isles.c.
Referenced by WireKnChPF(), and WirePot().
int ExactThinWire | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z, | ||
double * | potential, | ||
Vector3D * | Flux ) |
Definition at line 2164 of file Isles.c.
Referenced by WirePF(), and WirePrimPF().
int ExactTriSurf | ( | double | zMax, |
double | X, | ||
double | Y, | ||
double | Z, | ||
double * | Potential, | ||
Vector3D * | Flux ) |
Definition at line 783 of file Isles.c.
Referenced by ExactTriSurf(), TriFlux(), TriPF(), TriPot(), and TriPrimPF().
double ImprovedFX_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 1950 of file Isles.c.
double ImprovedFY_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 1974 of file Isles.c.
double ImprovedFZ_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 1998 of file Isles.c.
double ImprovedP_W | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z ) |
Definition at line 1934 of file Isles.c.
int ImprovedWire | ( | double | rW, |
double | lW, | ||
double | X, | ||
double | Y, | ||
double | Z, | ||
double * | potential, | ||
Vector3D * | Flux ) |
Definition at line 2028 of file Isles.c.
Definition at line 2271 of file Isles.c.
Referenced by ContinuityChUp(), ContinuityKnCh(), KnChPFAtPoint(), ValueChUp(), and ValueKnCh().
Definition at line 2249 of file Isles.c.
Referenced by ContinuityChUp(), ContinuityKnCh(), KnChPFAtPoint(), ValueChUp(), and ValueKnCh().
int Sign | ( | double | x | ) |
Definition at line 2854 of file Isles.c.
Referenced by ExactRecSurf(), and ExactTriSurf().
Definition at line 2841 of file Isles.c.
Referenced by ContinuityChUp(), ContinuityKnCh(), KnChPFAtPoint(), ValueChUp(), and ValueKnCh().
double WireKnChPF | ( | Point3D | WireStart, |
Point3D | WireStop, | ||
double | radius, | ||
Point3D | FieldPt, | ||
Vector3D * | globalF ) |
Definition at line 2514 of file Isles.c.