10 TString type(detector.ClassName());
11 if (type.Contains(
"TrueCoaxial")==
false) {
12 Error(
"SetupWith",
"%s is not expected. " 13 "Please pass in a TrueCoaxial detector.", type.Data());
21 for (
size_t i=0; i<
N1; i++) {
22 dC1p.push_back(dR/(N1-1));
dC1m.push_back(dR/(N1-1));
24 E1.push_back(0);
Et.push_back(0);
32 double slope = (coaxial.
Bias[1]-coaxial.
Bias[0])/(N1-1);
33 for (
size_t i=0; i<
N1; i++)
Vp.push_back(coaxial.
Bias[0]+slope*i);
46 c2/=log(
C1[0])-log(
C1[
N1-1]);
47 for (
size_t i=0; i<
N1; i++)
59 for (
size_t i=0; i<
GetN(); i++) {
64 Info(
"GetC",
"%.2f pF/cm",c/
pF*
cm);
75 + ((
Vp[idx+1]-
Vp[idx-1])/
C1[idx]/2
81 double min=
Vp[idx-1], max=
Vp[idx-1];
82 if (min>
Vp[idx+1]) min=
Vp[idx+1];
83 if (max<
Vp[idx+1]) max=
Vp[idx+1];
86 }
else if (vnew>max) {
std::vector< double > dC1m
step length to previous point alone C1
std::vector< double > Bias
bias on electrodes
std::vector< bool > fIsFixed
true if field values are fixed
static const double cm
centimeter
std::vector< double > E1
projection of Et on C1
std::vector< double > Src
-(net impurity concentration)x|Qe|/epsilon
double Radius
radius of the detector
Configuration of true coaxial detectors.
size_t N1
number of points along the 1st coordinate
void SolveAnalytically()
Solve Poisson's Equation analytically.
virtual void SetupWith(Detector &detector)
Fix potentials on boundaries based on.
Detector & crystal properties.
std::vector< double > dC1p
step length to next point alone C1
size_t GetN()
total number of points
void OverRelaxAt(size_t idx)
Over relax potential Vp[.
static const double epsilon
permittivity of Ge [C/volt/cm]
std::vector< bool > fIsDepleted
true if a grid point is depleted
Detector * fDetector
! Pointer to associated detector object
double BoreR
radius of the bore
A file defining commonly used units & constants.
static const double pF
pico farad
double GetImpurity(double height)
Return net impurity concentration at.
void CheckConfigurations()
virtual void CalculateE()
Calculate Et, E1, E2, E3 from Vp.
double GetC()
Get detector capacitance.
std::vector< double > Vp
potential at each point
static const double Qe
electron charge in Coulomb [C]
The only namespace in GeFiCa.
void SetupWith(Detector &detector)
Fix potentials on boundaries based on.
std::vector< double > Et
total electric field strength
std::vector< double > C1
the 1st coordinates of the points
double RelaxationFactor
within (0,2), used to speed up convergence