ROOT logo
void CheckCommutator(const char * inputCharge="SpaceCharge.root"){
  //
  // 1.) create an space charge correction map - using as input 2x2d space charge distribution
  // file 
  /*
    const char * inputCharge="SpaceCharge.root"
  */
  AliTPCSpaceCharge3D *spaceCharge = new AliTPCSpaceCharge3D;
  spaceCharge->SetSCDataFileName(inputCharge);
  spaceCharge->SetOmegaTauT1T2(0.325,1,1); // Ne CO2
  //spaceCharge->SetOmegaTauT1T2(0.41,1,1.05); // Ar CO2
  spaceCharge->InitSpaceCharge3DDistortion();
  spaceCharge->CreateHistoSCinZR(0.,50,50)->Draw("surf1");
  spaceCharge->CreateHistoDRPhiinZR(0,100,100)->Draw("colz");
  spaceCharge->AddVisualCorrection(spaceCharge,1);
  //
  // 2.) Instantiate magnetic field
  //
  ocdb="local://$ALICE_ROOT/OCDB/";
  AliCDBManager::Instance()->SetDefaultStorage(ocdb);
  AliCDBManager::Instance()->SetRun(0);   
  TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1., 1., AliMagF::k5kG));   
  //
  // 3.)   OCDB correction  have to be initialized from somewhere
  //
  TFile * f  = TFile::Open("Correction.root");
  TObjArray  * array = AliCDBEntry->GetObject();
  AliTPCComposedCorrection * corrDefault = (AliTPCComposedCorrection *)array->At(0);
  corrDefault->Init();
  //
  // 4.) Create comutators
  //
  TObjArray * array_SC_Default  = new TObjArray(2);
  TObjArray * array_Default_SC  = new TObjArray(2);
  //
  array_SC_Default->AddAt(spaceCharge,0);
  array_SC_Default->AddAt(corrDefault,1);
  //
  array_Default_SC->AddAt(corrDefault,0);
  array_Default_SC->AddAt(spaceCharge,1);
   AliTPCComposedCorrection *corr_SC_Default = new AliTPCComposedCorrection(array_SC_Default,AliTPCComposedCorrection::kQueue);
  AliTPCComposedCorrection *corr_Default_SC = new AliTPCComposedCorrection(array_Default_SC,AliTPCComposedCorrection::kQueue);
  corr_SC_Default->AddVisualCorrection(corr_SC_Default,1);
  corr_Default_SC->AddVisualCorrection(corr_Default_SC,2);
  //
  // 5.) Use TF1, TF2 functionality to visualize comutators
  //
  //  
  TCanvas * canvasNonComute = new TCanvas("SpacechargeDefault"," SpacechargeDefault",1200,700);
  canvasNonComute->Divide(2,1); 
  canvasNonComute->cd(1);

  canvasNonComute->cd(1);gPad->SetRightMargin(0.2);
  TF2 * fdiffXY0 = new TF2("fdiffXY0", "(AliTPCCorrection::GetCorrXYZ(x,y,10,0,1)-AliTPCCorrection::GetCorrXYZ(x,y,10,0,2))*(sqrt(x*x+y*y)>85&&sqrt(x*x+y*y)<245)",-250,250,-250,250);
  fdiffXY0->SetNpx(200);
  fdiffXY0->SetNpy(200);
  fdiffXY0->GetXaxis()->SetTitle("x (cm)");
  fdiffXY0->GetYaxis()->SetTitle("y (cm)");
  fdiffXY0->GetZaxis()->SetTitle("#delta R (cm)");
  fdiffXY0->Draw("colz");
  TPaveText *paveText = new TPaveText(-250,200,0.0,250,"");
  paveText->AddText("[SpaceCharge,Default]");
  paveText->Draw();

  
  canvasNonComute->cd(2);gPad->SetRightMargin(0.2);
  TF2 * fdiffXY1 = new TF2("fdiffXY0", "(AliTPCCorrection::GetCorrXYZ(x,y,10,1,1)-AliTPCCorrection::GetCorrXYZ(x,y,10,1,2))*(sqrt(x*x+y*y)>85&&sqrt(x*x+y*y)<245)",-250,250,-250,250);
  fdiffXY1->SetNpx(200);
  fdiffXY1->SetNpy(200);
  fdiffXY1->GetXaxis()->SetTitle("x (cm)");
  fdiffXY1->GetYaxis()->SetTitle("y (cm)");
  fdiffXY1->GetZaxis()->SetTitle("#delta R#Phi (cm)");
  fdiffXY1->Draw("colz");
  //
  //
  //
}




void DrawFuncionIntegralSpaceCharge(){
  //
  // Make nice plot and compare the r and rphi distortion using "Stefan standard implementation" integration  
  // and using integration along trajectories
  //
  AliTPCSpaceCharge3D *spaceCharge = new AliTPCSpaceCharge3D;
  spaceCharge->SetSCDataFileName("SpaceCharge.root");
  spaceCharge->SetOmegaTauT1T2(0.325,1,1); // Ne CO2
  //spaceCharge->SetOmegaTauT1T2(0.41,1,1.05); // Ar CO2
  spaceCharge->InitSpaceCharge3DDistortion();
  spaceCharge->CreateHistoSCinZR(0.,50,50)->Draw("surf1");
  spaceCharge->CreateHistoDRPhiinZR(0,100,100)->Draw("colz"); 
  ocdb="local://$ALICE_ROOT/OCDB/";
  AliCDBManager::Instance()->SetDefaultStorage(ocdb);
  AliCDBManager::Instance()->SetRun(0);   
  TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1., 1., AliMagF::k5kG));   
  spaceCharge->AddVisualCorrection(spaceCharge,1); 

  //
  //
  TCanvas *canvasIntegrate = new TCanvas("canvasIntegrate","canvasIntegrate",600,600);
  canvasIntegrate->Divide(1,2);
  //
  TF1 *fdistRStefan = new TF1("fdistRStefan","AliTPCCorrection::GetCorrXYZ(x,0,10,0,1)",85,250);
  TF1 *fdistRDriftS5 = new TF1("fdistRDriftS3","AliTPCCorrection::GetCorrXYZIntegrateZ(x,0,10,0,1,5)",85,250);
  TF1 *fdistRDriftS2 = new TF1("fdistRDriftS2","AliTPCCorrection::GetCorrXYZIntegrateZ(x,0,10,0,1,2)",85,250);
  TF1 *fdistRDriftS1 = new TF1("fdistRDriftS1","AliTPCCorrection::GetCorrXYZIntegrateZ(x,0,10,0,1,1)",85,250);
  TF1 *fdistRPhiStefan = new TF1("fdistRPhiStefan","AliTPCCorrection::GetCorrXYZ(x,0,10,1,1)",85,250);
  TF1 *fdistRPhiDriftS5 = new TF1("fdistRPhiDriftS3","AliTPCCorrection::GetCorrXYZIntegrateZ(x,0,10,1,1,5)",85,250);
  TF1 *fdistRPhiDriftS2 = new TF1("fdistRPhiDriftS2","AliTPCCorrection::GetCorrXYZIntegrateZ(x,0,10,1,1,2)",85,250);
  TF1 *fdistRPhiDriftS1 = new TF1("fdistRPhiDriftS1","AliTPCCorrection::GetCorrXYZIntegrateZ(x,0,10,1,1,1)",85,250);
  canvasIntegrate->cd(1);
  TLegend * legendR=new TLegend(0.4,0.6,0.9,0.9,"Space charge #Delta_{R}");
  fdistRStefan->GetXaxis()->SetTitle("R (cm)");
  fdistRStefan->GetYaxis()->SetTitle("#Delta_{R} (cm)");
  fdistRStefan->SetLineColor(2);
  //
  fdistRDriftS5->SetLineColor(1); fdistRDriftS5->SetLineStyle(2); 
  fdistRDriftS2->SetLineColor(4); fdistRDriftS2->SetLineStyle(1); 
  fdistRDriftS1->SetLineColor(1); fdistRDriftS1->SetLineStyle(3);
  fdistRStefan->Draw();
  fdistRDriftS5->Draw("same");
  fdistRDriftS2->Draw("same");
  fdistRDriftS1->Draw("same");
  legendR->AddEntry(fdistRStefan,"Stefan integration");
  legendR->AddEntry(fdistRDriftS5,"Drift lines (step=5cm);");
  legendR->AddEntry(fdistRDriftS2,"Drift lines (step=2cm);");
  legendR->AddEntry(fdistRDriftS1,"Drift lines (step=1cm);");
  legendR->Draw();

  canvasIntegrate->cd(2);  
  fdistRPhiStefan->GetXaxis()->SetTitle("RPhi (cm)");
  fdistRPhiStefan->GetYaxis()->SetTitle("#Delta_{RPhi} (cm)");
  fdistRPhiStefan->SetLineColor(2);
  //
  fdistRPhiDriftS5->SetLineColor(4); fdistRPhiDriftS5->SetLineStyle(2); 
  fdistRPhiDriftS2->SetLineColor(4); 
  fdistRPhiDriftS1->SetLineColor(4); fdistRPhiDriftS1->SetLineStyle(2);
  fdistRPhiStefan->Draw();
  fdistRPhiDriftS5->Draw("same");
  fdistRPhiDriftS2->Draw("same");
  fdistRPhiDriftS1->Draw("same");
  
  TLegend * legendRPhi=new TLegend(0.4,0.6,0.9,0.9,"Space charge #Delta_{RPhi}");
  fdistRPhiStefan->GetXaxis()->SetTitle("RPhi (cm)");
  fdistRPhiStefan->GetYaxis()->SetTitle("#Delta_{RPhi} (cm)");
  fdistRPhiStefan->SetLineColor(2);
 legendRPhi->AddEntry(fdistRPhiStefan,"Stefan integration");
  legendRPhi->AddEntry(fdistRPhiDriftS5,"Drift lines (step=5cm);");
  legendRPhi->AddEntry(fdistRPhiDriftS2,"Drift lines (step=2cm);");
  legendRPhi->AddEntry(fdistRPhiDriftS1,"Drift lines (step=1cm);");
  legendRPhi->Draw();
  canvasIntegrate->SaveAs("canvasIntegrate.png");
}

void DrawFuncions(){
  //
  // Make a default plot for the  
  //
  AliTPCSpaceCharge3D *spaceCharge = new AliTPCSpaceCharge3D;
  spaceCharge->SetSCDataFileName("SpaceCharge.root");
  spaceCharge->SetOmegaTauT1T2(0.325,1,1); // Ne CO2
  //spaceCharge->SetOmegaTauT1T2(0.41,1,1.05); // Ar CO2
  spaceCharge->InitSpaceCharge3DDistortion();
  spaceCharge->CreateHistoSCinZR(0.,50,50)->Draw("surf1");
  spaceCharge->CreateHistoDRPhiinZR(0,100,100)->Draw("colz"); 
  ocdb="local://$ALICE_ROOT/OCDB/";
  AliCDBManager::Instance()->SetDefaultStorage(ocdb);
  AliCDBManager::Instance()->SetRun(0);   
  TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1., 1., AliMagF::k5kG));   
  spaceCharge->AddVisualCorrection(spaceCharge,1); 

  TCanvas *canvasFun = new TCanvas("canvasFun","canvasFun",600,500);
  gStyle->SetOptTitle(1);
  TF1 * fdiffR = new TF1("fdiffR", "(AliTPCCorrection::GetCorrXYZ(x,0,10,0,1)-AliTPCCorrection::GetCorrXYZ(x+1,0,10,0,1))",80,245);
  fdiffR->SetNpx(1000);
  fdiffR->GetXaxis()->SetTitle("R (cm)");
  fdiffR->GetYaxis()->SetTitle("#Delta_{R}(R)-#Delta_{R}(R+1) (cm)");
  fdiffR->Draw();
  canvasFun->SaveAs("radialShrinking.png");

  TF1 * fdiffSigmaR = new TF1("fdiffSigmaR", "(AliTPCCorrection::GetCorrXYZ(x,0,10,0,1)-AliTPCCorrection::GetCorrXYZ(x,0,10-7,0,1))",80,245);
  fdiffSigmaR->SetNpx(1000);
  fdiffSigmaR->GetXaxis()->SetTitle("R (cm)");
  fdiffSigmaR->GetYaxis()->SetTitle("#Delta_{R}(R,Z)-#Delta_{R}(R,Z+#sigma_{z}) (cm)");
  fdiffSigmaR->Draw();
  canvasFun->SaveAs("radialSigmaR.png");
  //
  TF1 * fdistortion = new TF1("fdiffSigmaR", "AliTPCCorrection::GetCorrXYZ(x,0,10,0,1)+x",80,245);
  fdistortion->SetNpx(1000);
  fdistortion->GetXaxis()->SetTitle("R (cm)");
  fdistortion->GetYaxis()->SetTitle("R' (cm)");
  fdistortion->Draw();  
  canvasFun->SaveAs("radialDistortion.png");  
}


void spaceChargeSimulationTrack(Double_t refX){
  //
  // 1. Initialzation form space charge maps
  //
  AliTPCSpaceCharge3D *spaceCharge = new AliTPCSpaceCharge3D;
  spaceCharge->SetSCDataFileName("SpaceCharge.root");
  spaceCharge->SetOmegaTauT1T2(0.325,1,1); // Ne CO2
  //spaceCharge->SetOmegaTauT1T2(0.41,1,1.05); // Ar CO2
  spaceCharge->InitSpaceCharge3DDistortion();
  spaceCharge->CreateHistoSCinZR(0.,50,50)->Draw("surf1");
  spaceCharge->CreateHistoDRPhiinZR(0,100,100)->Draw("colz"); 
  ocdb="local://$ALICE_ROOT/OCDB/";
  AliCDBManager::Instance()->SetDefaultStorage(ocdb);
  AliCDBManager::Instance()->SetRun(0);   
  TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1., 1., AliMagF::k5kG));   
  spaceCharge->AddVisualCorrection(spaceCharge,1); 
  TF1 * fdiffR = new TF1("fdiffR", "(AliTPCCorrection::GetCorrXYZ(x,0,10,0,1)-AliTPCCorrection::GetCorrXYZ(x+1,0,10,0,1))",80,245);
  //
  // 2. MC generation of the tracks
  //    Distort track and fit distroted track within AliTPCorrection::FitDistortedTrack(*t, refX, dir,  pcstream)
  //
  Double_t etaCuts=1;
  Double_t mass = TDatabasePDG::Instance()->GetParticle("pi+")->Mass();
  TF1 fpt("fpt",Form("x*(1+(sqrt(x*x+%f^2)-%f)/([0]*[1]))^(-[0])",mass,mass),0.4,10);
  fpt.SetParameters(7.24,0.120);
  fpt.SetNpx(10000);
  Int_t nTracks=10000; 
  TTreeSRedirector  * pcstream = new TTreeSRedirector("trackDist.root","recreate");
  
  for(Int_t nt=0; nt<nTracks; nt++){
    Double_t phi = gRandom->Uniform(0.0, 2*TMath::Pi());
    Double_t eta = gRandom->Uniform(-etaCuts, etaCuts);
    Double_t pt = 1/(gRandom->Rndm()*5+0.00001); // momentum for f1
    //   printf("phi %lf  eta %lf pt %lf\n",phi,eta,pt);
    Short_t sign=1;
    if(gRandom->Rndm() < 0.5){
      sign =1;
    }else{
      sign=-1;
    }
    
    Double_t theta = 2*TMath::ATan(TMath::Exp(-eta))-TMath::Pi()/2.;
    Double_t pxyz[3];
    pxyz[0]=pt*TMath::Cos(phi);
    pxyz[1]=pt*TMath::Sin(phi);
    pxyz[2]=pt*TMath::Tan(theta);
    Double_t vertex[3]={0,0,0};
    Double_t cv[21]={0};
    AliExternalTrackParam *t= new AliExternalTrackParam(vertex, pxyz, cv, sign);   
    //    Double_t refX=1.;
    Int_t dir=-1;
    AliExternalTrackParam *td =  spaceCharge->FitDistortedTrack(*t, refX, dir,  pcstream);
  }  
  delete pcstream;
  //
  // Visulalize distortion of of tracks
  //
  TFile * f = TFile::Open("trackDist.root");
  TTree * tree = (TTree*)f->Get("fitDistortSpaceCharge3D");
  tree->SetMarkerStyle(25);
  tree->SetMarkerSize(0.4);
  
  //
  // DCA distortion example
  //
  tree->Draw("track1.GetY()-track0.GetY():track0.GetTgl():abs(track0.fP[4])","track0.fP[4]>0","colz",10000);
  tree->Draw("track1.GetTgl()-track0.GetTgl():track0.GetSigned1Pt():track0.GetTgl()","abs(track0.GetTgl()-0.5)<0.4","colz",10000);

  /*
    problems:
    
   */
}

/*
 */

void DrawDistortions(){
  //
  //
  //
  TFile * f = TFile::Open("trackDist.root");
  TTree * tree = (TTree*)f->Get("fitDistortSpaceCharge3D");
  tree->SetMarkerStyle(25);
  tree->SetMarkerSize(0.4);  

  //
  // DCA as function of theta and 1/pt 
  //
  TCanvas *c1 = new TCanvas();
  tree->Draw("track1.GetY()-track0.GetY():track0.GetSigned1Pt():track0.GetTgl()","track0.GetTgl()>0","colz",10000);
  // Get the histogram and set axis titles
  TH2F *htemp = (TH2F*)gPad->GetPrimitive("htemp");
  htemp->GetXaxis()->SetTitle("1/p_{T}");
  htemp->GetYaxis()->SetTitle("#Delta DCA");
  htemp->GetZaxis()->SetTitle("tan(#lambda)");
  htemp->SetTitle("DCA difference");
  c1->Update();
  c1->SaveAs("DCAdifference.eps")

  //
  tree->Draw("track1.GetSigned1Pt()-track0.GetSigned1Pt():track0.GetSigned1Pt():track0.GetTgl()","track0.GetTgl()>0","colz",10000);
  htemp = (TH2F*)gPad->GetPrimitive("htemp");
  htemp->GetXaxis()->SetTitle("1/p_{T}");
  htemp->GetYaxis()->SetTitle("#Delta 1/pT (1/GeV/c)");
  htemp->GetZaxis()->SetTitle("tan(#lambda)");
  htemp->SetTitle("1/pT difference");
  c1->Update();
  c1->SaveAs("1Ptdifference.eps")
  //
  // 
  TCanvas *canvasEvent = new TCanvas("canvasEvent","canvasEvent",600,500);
  tree->SetMarkerSize(0.25);
  tree->SetMarkerColor(1);
  tree->Draw("point0.fY:point0.fX","point0.fX!=0","",40,0);
  tree->SetMarkerColor(2);
  tree->Draw("point1.fY:point1.fX","point1.fX!=0","same",40,0);
  htemp = (TH2F*)gPad->GetPrimitive("htemp");
  htemp->GetXaxis()->SetTitle("x (cm)");
  htemp->GetYaxis()->SetTitle("y (cm)");
  htemp->SetTitle("Event");
  c1->Update();
  c1->SaveAs("Event.eps")

}
 spaceChargeSimulationTrack.C:1
 spaceChargeSimulationTrack.C:2
 spaceChargeSimulationTrack.C:3
 spaceChargeSimulationTrack.C:4
 spaceChargeSimulationTrack.C:5
 spaceChargeSimulationTrack.C:6
 spaceChargeSimulationTrack.C:7
 spaceChargeSimulationTrack.C:8
 spaceChargeSimulationTrack.C:9
 spaceChargeSimulationTrack.C:10
 spaceChargeSimulationTrack.C:11
 spaceChargeSimulationTrack.C:12
 spaceChargeSimulationTrack.C:13
 spaceChargeSimulationTrack.C:14
 spaceChargeSimulationTrack.C:15
 spaceChargeSimulationTrack.C:16
 spaceChargeSimulationTrack.C:17
 spaceChargeSimulationTrack.C:18
 spaceChargeSimulationTrack.C:19
 spaceChargeSimulationTrack.C:20
 spaceChargeSimulationTrack.C:21
 spaceChargeSimulationTrack.C:22
 spaceChargeSimulationTrack.C:23
 spaceChargeSimulationTrack.C:24
 spaceChargeSimulationTrack.C:25
 spaceChargeSimulationTrack.C:26
 spaceChargeSimulationTrack.C:27
 spaceChargeSimulationTrack.C:28
 spaceChargeSimulationTrack.C:29
 spaceChargeSimulationTrack.C:30
 spaceChargeSimulationTrack.C:31
 spaceChargeSimulationTrack.C:32
 spaceChargeSimulationTrack.C:33
 spaceChargeSimulationTrack.C:34
 spaceChargeSimulationTrack.C:35
 spaceChargeSimulationTrack.C:36
 spaceChargeSimulationTrack.C:37
 spaceChargeSimulationTrack.C:38
 spaceChargeSimulationTrack.C:39
 spaceChargeSimulationTrack.C:40
 spaceChargeSimulationTrack.C:41
 spaceChargeSimulationTrack.C:42
 spaceChargeSimulationTrack.C:43
 spaceChargeSimulationTrack.C:44
 spaceChargeSimulationTrack.C:45
 spaceChargeSimulationTrack.C:46
 spaceChargeSimulationTrack.C:47
 spaceChargeSimulationTrack.C:48
 spaceChargeSimulationTrack.C:49
 spaceChargeSimulationTrack.C:50
 spaceChargeSimulationTrack.C:51
 spaceChargeSimulationTrack.C:52
 spaceChargeSimulationTrack.C:53
 spaceChargeSimulationTrack.C:54
 spaceChargeSimulationTrack.C:55
 spaceChargeSimulationTrack.C:56
 spaceChargeSimulationTrack.C:57
 spaceChargeSimulationTrack.C:58
 spaceChargeSimulationTrack.C:59
 spaceChargeSimulationTrack.C:60
 spaceChargeSimulationTrack.C:61
 spaceChargeSimulationTrack.C:62
 spaceChargeSimulationTrack.C:63
 spaceChargeSimulationTrack.C:64
 spaceChargeSimulationTrack.C:65
 spaceChargeSimulationTrack.C:66
 spaceChargeSimulationTrack.C:67
 spaceChargeSimulationTrack.C:68
 spaceChargeSimulationTrack.C:69
 spaceChargeSimulationTrack.C:70
 spaceChargeSimulationTrack.C:71
 spaceChargeSimulationTrack.C:72
 spaceChargeSimulationTrack.C:73
 spaceChargeSimulationTrack.C:74
 spaceChargeSimulationTrack.C:75
 spaceChargeSimulationTrack.C:76
 spaceChargeSimulationTrack.C:77
 spaceChargeSimulationTrack.C:78
 spaceChargeSimulationTrack.C:79
 spaceChargeSimulationTrack.C:80
 spaceChargeSimulationTrack.C:81
 spaceChargeSimulationTrack.C:82
 spaceChargeSimulationTrack.C:83
 spaceChargeSimulationTrack.C:84
 spaceChargeSimulationTrack.C:85
 spaceChargeSimulationTrack.C:86
 spaceChargeSimulationTrack.C:87
 spaceChargeSimulationTrack.C:88
 spaceChargeSimulationTrack.C:89
 spaceChargeSimulationTrack.C:90
 spaceChargeSimulationTrack.C:91
 spaceChargeSimulationTrack.C:92
 spaceChargeSimulationTrack.C:93
 spaceChargeSimulationTrack.C:94
 spaceChargeSimulationTrack.C:95
 spaceChargeSimulationTrack.C:96
 spaceChargeSimulationTrack.C:97
 spaceChargeSimulationTrack.C:98
 spaceChargeSimulationTrack.C:99
 spaceChargeSimulationTrack.C:100
 spaceChargeSimulationTrack.C:101
 spaceChargeSimulationTrack.C:102
 spaceChargeSimulationTrack.C:103
 spaceChargeSimulationTrack.C:104
 spaceChargeSimulationTrack.C:105
 spaceChargeSimulationTrack.C:106
 spaceChargeSimulationTrack.C:107
 spaceChargeSimulationTrack.C:108
 spaceChargeSimulationTrack.C:109
 spaceChargeSimulationTrack.C:110
 spaceChargeSimulationTrack.C:111
 spaceChargeSimulationTrack.C:112
 spaceChargeSimulationTrack.C:113
 spaceChargeSimulationTrack.C:114
 spaceChargeSimulationTrack.C:115
 spaceChargeSimulationTrack.C:116
 spaceChargeSimulationTrack.C:117
 spaceChargeSimulationTrack.C:118
 spaceChargeSimulationTrack.C:119
 spaceChargeSimulationTrack.C:120
 spaceChargeSimulationTrack.C:121
 spaceChargeSimulationTrack.C:122
 spaceChargeSimulationTrack.C:123
 spaceChargeSimulationTrack.C:124
 spaceChargeSimulationTrack.C:125
 spaceChargeSimulationTrack.C:126
 spaceChargeSimulationTrack.C:127
 spaceChargeSimulationTrack.C:128
 spaceChargeSimulationTrack.C:129
 spaceChargeSimulationTrack.C:130
 spaceChargeSimulationTrack.C:131
 spaceChargeSimulationTrack.C:132
 spaceChargeSimulationTrack.C:133
 spaceChargeSimulationTrack.C:134
 spaceChargeSimulationTrack.C:135
 spaceChargeSimulationTrack.C:136
 spaceChargeSimulationTrack.C:137
 spaceChargeSimulationTrack.C:138
 spaceChargeSimulationTrack.C:139
 spaceChargeSimulationTrack.C:140
 spaceChargeSimulationTrack.C:141
 spaceChargeSimulationTrack.C:142
 spaceChargeSimulationTrack.C:143
 spaceChargeSimulationTrack.C:144
 spaceChargeSimulationTrack.C:145
 spaceChargeSimulationTrack.C:146
 spaceChargeSimulationTrack.C:147
 spaceChargeSimulationTrack.C:148
 spaceChargeSimulationTrack.C:149
 spaceChargeSimulationTrack.C:150
 spaceChargeSimulationTrack.C:151
 spaceChargeSimulationTrack.C:152
 spaceChargeSimulationTrack.C:153
 spaceChargeSimulationTrack.C:154
 spaceChargeSimulationTrack.C:155
 spaceChargeSimulationTrack.C:156
 spaceChargeSimulationTrack.C:157
 spaceChargeSimulationTrack.C:158
 spaceChargeSimulationTrack.C:159
 spaceChargeSimulationTrack.C:160
 spaceChargeSimulationTrack.C:161
 spaceChargeSimulationTrack.C:162
 spaceChargeSimulationTrack.C:163
 spaceChargeSimulationTrack.C:164
 spaceChargeSimulationTrack.C:165
 spaceChargeSimulationTrack.C:166
 spaceChargeSimulationTrack.C:167
 spaceChargeSimulationTrack.C:168
 spaceChargeSimulationTrack.C:169
 spaceChargeSimulationTrack.C:170
 spaceChargeSimulationTrack.C:171
 spaceChargeSimulationTrack.C:172
 spaceChargeSimulationTrack.C:173
 spaceChargeSimulationTrack.C:174
 spaceChargeSimulationTrack.C:175
 spaceChargeSimulationTrack.C:176
 spaceChargeSimulationTrack.C:177
 spaceChargeSimulationTrack.C:178
 spaceChargeSimulationTrack.C:179
 spaceChargeSimulationTrack.C:180
 spaceChargeSimulationTrack.C:181
 spaceChargeSimulationTrack.C:182
 spaceChargeSimulationTrack.C:183
 spaceChargeSimulationTrack.C:184
 spaceChargeSimulationTrack.C:185
 spaceChargeSimulationTrack.C:186
 spaceChargeSimulationTrack.C:187
 spaceChargeSimulationTrack.C:188
 spaceChargeSimulationTrack.C:189
 spaceChargeSimulationTrack.C:190
 spaceChargeSimulationTrack.C:191
 spaceChargeSimulationTrack.C:192
 spaceChargeSimulationTrack.C:193
 spaceChargeSimulationTrack.C:194
 spaceChargeSimulationTrack.C:195
 spaceChargeSimulationTrack.C:196
 spaceChargeSimulationTrack.C:197
 spaceChargeSimulationTrack.C:198
 spaceChargeSimulationTrack.C:199
 spaceChargeSimulationTrack.C:200
 spaceChargeSimulationTrack.C:201
 spaceChargeSimulationTrack.C:202
 spaceChargeSimulationTrack.C:203
 spaceChargeSimulationTrack.C:204
 spaceChargeSimulationTrack.C:205
 spaceChargeSimulationTrack.C:206
 spaceChargeSimulationTrack.C:207
 spaceChargeSimulationTrack.C:208
 spaceChargeSimulationTrack.C:209
 spaceChargeSimulationTrack.C:210
 spaceChargeSimulationTrack.C:211
 spaceChargeSimulationTrack.C:212
 spaceChargeSimulationTrack.C:213
 spaceChargeSimulationTrack.C:214
 spaceChargeSimulationTrack.C:215
 spaceChargeSimulationTrack.C:216
 spaceChargeSimulationTrack.C:217
 spaceChargeSimulationTrack.C:218
 spaceChargeSimulationTrack.C:219
 spaceChargeSimulationTrack.C:220
 spaceChargeSimulationTrack.C:221
 spaceChargeSimulationTrack.C:222
 spaceChargeSimulationTrack.C:223
 spaceChargeSimulationTrack.C:224
 spaceChargeSimulationTrack.C:225
 spaceChargeSimulationTrack.C:226
 spaceChargeSimulationTrack.C:227
 spaceChargeSimulationTrack.C:228
 spaceChargeSimulationTrack.C:229
 spaceChargeSimulationTrack.C:230
 spaceChargeSimulationTrack.C:231
 spaceChargeSimulationTrack.C:232
 spaceChargeSimulationTrack.C:233
 spaceChargeSimulationTrack.C:234
 spaceChargeSimulationTrack.C:235
 spaceChargeSimulationTrack.C:236
 spaceChargeSimulationTrack.C:237
 spaceChargeSimulationTrack.C:238
 spaceChargeSimulationTrack.C:239
 spaceChargeSimulationTrack.C:240
 spaceChargeSimulationTrack.C:241
 spaceChargeSimulationTrack.C:242
 spaceChargeSimulationTrack.C:243
 spaceChargeSimulationTrack.C:244
 spaceChargeSimulationTrack.C:245
 spaceChargeSimulationTrack.C:246
 spaceChargeSimulationTrack.C:247
 spaceChargeSimulationTrack.C:248
 spaceChargeSimulationTrack.C:249
 spaceChargeSimulationTrack.C:250
 spaceChargeSimulationTrack.C:251
 spaceChargeSimulationTrack.C:252
 spaceChargeSimulationTrack.C:253
 spaceChargeSimulationTrack.C:254
 spaceChargeSimulationTrack.C:255
 spaceChargeSimulationTrack.C:256
 spaceChargeSimulationTrack.C:257
 spaceChargeSimulationTrack.C:258
 spaceChargeSimulationTrack.C:259
 spaceChargeSimulationTrack.C:260
 spaceChargeSimulationTrack.C:261
 spaceChargeSimulationTrack.C:262
 spaceChargeSimulationTrack.C:263
 spaceChargeSimulationTrack.C:264
 spaceChargeSimulationTrack.C:265
 spaceChargeSimulationTrack.C:266
 spaceChargeSimulationTrack.C:267
 spaceChargeSimulationTrack.C:268
 spaceChargeSimulationTrack.C:269
 spaceChargeSimulationTrack.C:270
 spaceChargeSimulationTrack.C:271
 spaceChargeSimulationTrack.C:272
 spaceChargeSimulationTrack.C:273
 spaceChargeSimulationTrack.C:274
 spaceChargeSimulationTrack.C:275
 spaceChargeSimulationTrack.C:276
 spaceChargeSimulationTrack.C:277
 spaceChargeSimulationTrack.C:278
 spaceChargeSimulationTrack.C:279
 spaceChargeSimulationTrack.C:280
 spaceChargeSimulationTrack.C:281
 spaceChargeSimulationTrack.C:282
 spaceChargeSimulationTrack.C:283
 spaceChargeSimulationTrack.C:284
 spaceChargeSimulationTrack.C:285
 spaceChargeSimulationTrack.C:286
 spaceChargeSimulationTrack.C:287
 spaceChargeSimulationTrack.C:288
 spaceChargeSimulationTrack.C:289
 spaceChargeSimulationTrack.C:290
 spaceChargeSimulationTrack.C:291
 spaceChargeSimulationTrack.C:292
 spaceChargeSimulationTrack.C:293
 spaceChargeSimulationTrack.C:294
 spaceChargeSimulationTrack.C:295
 spaceChargeSimulationTrack.C:296
 spaceChargeSimulationTrack.C:297
 spaceChargeSimulationTrack.C:298
 spaceChargeSimulationTrack.C:299
 spaceChargeSimulationTrack.C:300
 spaceChargeSimulationTrack.C:301
 spaceChargeSimulationTrack.C:302
 spaceChargeSimulationTrack.C:303
 spaceChargeSimulationTrack.C:304
 spaceChargeSimulationTrack.C:305
 spaceChargeSimulationTrack.C:306
 spaceChargeSimulationTrack.C:307
 spaceChargeSimulationTrack.C:308
 spaceChargeSimulationTrack.C:309
 spaceChargeSimulationTrack.C:310
 spaceChargeSimulationTrack.C:311
 spaceChargeSimulationTrack.C:312
 spaceChargeSimulationTrack.C:313
 spaceChargeSimulationTrack.C:314
 spaceChargeSimulationTrack.C:315
 spaceChargeSimulationTrack.C:316
 spaceChargeSimulationTrack.C:317
 spaceChargeSimulationTrack.C:318
 spaceChargeSimulationTrack.C:319
 spaceChargeSimulationTrack.C:320
 spaceChargeSimulationTrack.C:321
 spaceChargeSimulationTrack.C:322
 spaceChargeSimulationTrack.C:323
 spaceChargeSimulationTrack.C:324