Strip detector example (variable step size)
{
// Different mesh structures Y[]= denotes the depth in um
// and correspoding step in X[]. The depts follow from rigth to left and they shoul
// obviousy sum to detector thickness.
// Float_t Y[]={90,75,70,30,35};
// Float_t X[]={3,2.5,2,1.5,1};
// Float_t Y[]={150,150};
// Float_t X[]={2,1};
// Float_t Y[]={60,55,50,45,30,35,15,10};
// Float_t X[]={3,2.75,2.5,2.25,2,1.75,1.5,1.25};
Float_t Y[]={100,75, 69.5,37.5,18};
Float_t X[]={ 2, 1,0.50,0.375,0.25};
KMesh Mesh(300);
Float_t Bins[1000];
// Generation of bins for Y direction
Int_t N=Mesh.GetBins(5,Y,X,Bins);
// Generation of bins for X direction
Float_t *Xbins=new Float_t[321];
Xbins[0]=0;
for(Int_t i=1;i<=140;i++) Xbins[i]= Xbins[i-1]+2;;
// Uniform space charge of -4e12 cm-3
TF3 *f3=new TF3("f2","x*y*z*0+[0]",0,3000,0,3000,0,3000);
f2->SetParameter(0,-4);
// Define strip detector
KStrip *det=new KStrip(80,20,2,1,300);
det->Voltage=-500;
det->SetUpVolume(N,Bins,40,Xbins);
det->SetUpElectrodes();
det->SetBoundaryConditions();
det->NeffF=f3;
det->SetCalculationParameters(1e-6,25000);
det.CalField(0);
det->SetCalculationParameters(1e-6,2000);
det.CalField(1);
}