From c304c4bed8ac06bb81c08e930fa2c703bcbe19d4 Mon Sep 17 00:00:00 2001 From: tiwillia <tiwillia> Date: Tue, 29 Sep 2015 10:46:39 +0000 Subject: [PATCH] Modified TestEm5 for compatibility with LHCbPR git-svn-id: svn+ssh://svn.cern.ch/reps/lhcb/Geant4/trunk@195367 4525493e-7705-40b1-a816-d608a930855b --- .../extended/electromagnetic/G4TestEm5/cmt/requirements | 2 +- .../electromagnetic/G4TestEm5/incnew/RMSPlotter.hh | 1 + .../extended/electromagnetic/G4TestEm5/scripts/Em5run.sh | 2 +- .../extended/electromagnetic/G4TestEm5/srcnew/TestEm5.cc | 5 +++++ .../electromagnetic/G4TestEm5/srcnew/src/RMSPlotter.cc | 7 ++++++- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/cmt/requirements b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/cmt/requirements index fc1abdf..a63366e 100755 --- a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/cmt/requirements +++ b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/cmt/requirements @@ -18,7 +18,7 @@ include_dirs ../include #------ Building the library ------- -macro_append ROOT_linkopts " -lHist" +macro_append ROOT_linkopts " -lHist -lGpad" library G4TestEm5 $(G4LibraryFlags) ../src/*.cc apply_pattern linker_library library=G4TestEm5 diff --git a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/incnew/RMSPlotter.hh b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/incnew/RMSPlotter.hh index 6d2155a..c58d4b4 100644 --- a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/incnew/RMSPlotter.hh +++ b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/incnew/RMSPlotter.hh @@ -6,6 +6,7 @@ #include"TF1.h" #include<map> #include"TFitResultPtr.h" +#include<fstream> struct DataPoint{ double Energy; double rms; diff --git a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/scripts/Em5run.sh b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/scripts/Em5run.sh index c017106..27ba541 100755 --- a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/scripts/Em5run.sh +++ b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/scripts/Em5run.sh @@ -23,7 +23,7 @@ cd $TestDir fi MacGen.py $n -testEm5.exe BruteForce.mac +testEm5.exe BruteForce.mac $n diff --git a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/TestEm5.cc b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/TestEm5.cc index f848fe7..3621820 100644 --- a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/TestEm5.cc +++ b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/TestEm5.cc @@ -50,6 +50,7 @@ #include"TGraphErrors.h" #include"TH1D.h" #include"TFile.h" +#include"TCanvas.h" #ifdef G4VIS_USE #include "G4VisExecutive.hh" @@ -126,6 +127,10 @@ int main(int argc,char** argv) { TFile* Out= new TFile("RMSResults.root","RECREATE"); rmsplot->Write(); rmsfittedplot->Write(); + TCanvas C; + rmsplot->Draw("AP"); + C.Print("Results.pdf"); + std::vector<TH1D*>::iterator Vi=V.begin(); for(;Vi!=V.end();++Vi) { diff --git a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/src/RMSPlotter.cc b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/src/RMSPlotter.cc index 6aa4896..bdbcf12 100644 --- a/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/src/RMSPlotter.cc +++ b/Geant4/G4examples/extended/electromagnetic/G4TestEm5/srcnew/src/RMSPlotter.cc @@ -43,6 +43,8 @@ void RMSPlotter::AddRun(Double_t _Energy, Double_t _rms){ } TGraphErrors* RMSPlotter::MakePlots(){ + std::ofstream outt("Results_Table.txt"); + outt<<"Energy/MeV "<<"RMS of Scattering Angle/mRad "<<" Uncertainty/mRad" <<std::endl; int D= DataPoints.size(); Double_t* E=new Double_t[D]; Double_t* R=new Double_t[D]; @@ -55,13 +57,16 @@ TGraphErrors* RMSPlotter::MakePlots(){ R[a]=(*Di).rms=(*Di).Distribution->GetMean(); RU[a]=(*Di).rmsUncert=(*Di).Distribution->GetRMS(); EU[a]=0; + outt<<E[a]<<" , "<<R[a]<<" , "<<RU[a]<<std::endl; } ThePlot= new TGraphErrors(D,E,R,EU,RU); - ThePlot->SetTitle("Plot from taking RMS of RMS Distribution;Energy/MeV;RMS/mrad"); + ThePlot->SetTitle("RMS of Scattering Angle Against Energy;Energy/MeV;RMS/mrad"); delete[] E; delete[] R; delete[] RU; delete[] EU; + outt.close(); + std::cout<<"MADE A PLOT "<<std::endl; return ThePlot; } -- GitLab