10 TString type(detector.ClassName());
11 if (type.Contains(
"Hemispherical")==
false) {
12 Error(
"SetupWith",
"%s is not expected. " 13 "Please pass in a Hemispherical 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 = (hemi.
Bias[1]-hemi.
Bias[0])/(N1-1);
33 for (
size_t i=0; i<
N1; i++)
Vp.push_back(hemi.
Bias[0]+slope*i);
47 double min=
Vp[idx-1], max=
Vp[idx-1];
48 if (min>
Vp[idx+1]) min=
Vp[idx+1];
49 if (max<
Vp[idx+1]) max=
Vp[idx+1];
52 }
else if (vnew>max) {
66 for (
size_t i=1; i<N-1; i++) {
std::vector< double > dC1m
step length to previous point alone C1
std::vector< double > Bias
bias on electrodes
Configuration of hemispherical detectors.
std::vector< bool > fIsFixed
true if field values are fixed
virtual void OverRelaxAt(size_t idx)
Over relax potential Vp[.
std::vector< double > E1
projection of Et on C1
size_t N2
number of points along the 2nd coordinate
void SetupWith(Detector &detector)
Fix potentials on boundaries based on.
std::vector< double > Src
-(net impurity concentration)x|Qe|/epsilon
size_t N1
number of points along the 1st coordinate
std::vector< double > C2
the 2nd coordinates of the points
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
double Height
height of crystal
std::vector< double > dC2m
step length to previous point along C2
double PointContactR
radius of point contact
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
std::vector< double > dC2p
step length to next point along C2
A file defining commonly used units & constants.
double GetImpurity(double height)
Return net impurity concentration at.
void CalculateE()
Calculate Et, E1, E2, E3 from Vp.
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 > E2
projection of Et on C2
std::vector< double > C1
the 1st coordinates of the points
double RelaxationFactor
within (0,2), used to speed up convergence
void CheckConfigurations()