10 TString type(detector.ClassName());
11 if (type.Contains(
"Planar")==
false) {
12 Error(
"SetupWith",
"%s is not expected. " 13 "Please pass in a Planar detector.", type.Data());
20 for (
size_t i=0; i<
N1; i++) {
24 E1.push_back(0);
Et.push_back(0);
32 double slope = (planar.
Bias[1]-planar.
Bias[0])/(N1-1);
33 for (
size_t i=0; i<
N1; i++)
Vp.push_back(planar.
Bias[0]+slope*i);
43 double b=(
Vp[
N1-1]-
Vp[0]-a*h*h)/h;
45 for (
size_t i=0; i<
N1; i++)
Vp[i] = a*C1[i]*C1[i]+b*C1[i]+c;
56 for (
size_t i=0; i<
GetN(); i++) {
60 double c=integral*
epsilon/dV/dV;
61 Info(
"GetC",
"%.2f pF/cm2",c/
pF*
cm2);
76 double min=
Vp[idx-1], max=
Vp[idx-1];
77 if (min>
Vp[idx+1]) min=
Vp[idx+1];
78 if (max<
Vp[idx+1]) max=
Vp[idx+1];
81 }
else if (vnew>max) {
std::vector< double > dC1m
step length to previous point alone C1
Configuration of planar detectors.
void OverRelaxAt(size_t idx)
Over relax potential Vp[.
void CheckConfigurations()
std::vector< double > Bias
bias on electrodes
std::vector< bool > fIsFixed
true if field values are fixed
std::vector< double > E1
projection of Et on C1
std::vector< double > Src
-(net impurity concentration)x|Qe|/epsilon
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
double Height
height of crystal
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
A file defining commonly used units & constants.
static const double pF
pico farad
static const double cm2
centimeter squared
double GetImpurity(double height)
Return net impurity concentration at.
virtual void CalculateE()
Calculate Et, E1, E2, E3 from Vp.
void SetupWith(Detector &detector)
Fix potentials on boundaries based on.
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.
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