From 4d9d3151905a0d86416bc750072d15accee9658e Mon Sep 17 00:00:00 2001 From: matta <matta@npt> Date: Mon, 1 Jul 2013 10:05:35 +0000 Subject: [PATCH] * Adding support for multi core compilation in NPS --- Inputs/DetectorConfiguration/Sharc.detector | 8 +++---- NPAnalysis/RRC66/Analysis.cxx | 2 +- NPAnalysis/macros/GeometricalEfficiency.C | 25 +++++++++------------ NPLib/Sharc/TSharcPhysics.cxx | 8 +++---- NPSimulation/Makefile | 2 +- NPSimulation/Sharc/Sharc.hh | 4 +++- NPSimulation/src/EventGeneratorBeam.cc | 2 +- 7 files changed, 25 insertions(+), 26 deletions(-) diff --git a/Inputs/DetectorConfiguration/Sharc.detector b/Inputs/DetectorConfiguration/Sharc.detector index 321973bbb..a16b0589e 100644 --- a/Inputs/DetectorConfiguration/Sharc.detector +++ b/Inputs/DetectorConfiguration/Sharc.detector @@ -17,22 +17,22 @@ Sharc %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Upstream CD SharcQQQ - Z= -66 + Z= -62 R= 0 Phi= 0 ThicknessDector= 500 SharcQQQ - Z= -66 + Z= -62 R= 0 Phi= 90 ThicknessDector= 500 SharcQQQ - Z= -66 + Z= -62 R= 0 Phi= 180 ThicknessDector= 500 SharcQQQ - Z= -66 + Z= -62 R= 0 Phi= 270 ThicknessDector= 500 diff --git a/NPAnalysis/RRC66/Analysis.cxx b/NPAnalysis/RRC66/Analysis.cxx index 4fd81654b..70af0f6b3 100644 --- a/NPAnalysis/RRC66/Analysis.cxx +++ b/NPAnalysis/RRC66/Analysis.cxx @@ -1,4 +1,4 @@ -#include "Analysis.h" + #include "Analysis.h" using namespace std; int main(int argc, char** argv) diff --git a/NPAnalysis/macros/GeometricalEfficiency.C b/NPAnalysis/macros/GeometricalEfficiency.C index 777d2a8c2..11bda32f9 100644 --- a/NPAnalysis/macros/GeometricalEfficiency.C +++ b/NPAnalysis/macros/GeometricalEfficiency.C @@ -89,24 +89,21 @@ void GeometricalEfficiency(const char * fname = "myResult"){ TCanvas* c1 = new TCanvas("c1", "c1"); // Compute relative efficiency in % TH1F *efficiency = new TH1F("hEfficiency", "Efficiency", 180, 0, 180); - // efficiency->SetTitle("Efficiency GASPARD (Spheric version);#Theta [deg];#epsilon [%]"); efficiency->SetTitle("Efficiency;#Theta [deg];#epsilon [%]"); efficiency->Divide(hDetecTheta,hEmittTheta,100); efficiency->SetMaximum(110); efficiency->Draw(); - TCanvas* c2 = new TCanvas("c2", "c2"); hEmittTheta->Draw(); hDetecTheta->SetLineColor(kRed); hDetecTheta->Draw("same"); - TCanvas* c3 = new TCanvas("c3", "c3"); + TCanvas* c3 = new TCanvas("c3", "Lab Frame (use with source)"); TH1F* SolidA = new TH1F(*hDetecTheta); SolidA->Sumw2(); TF1* C = new TF1("C",Form("%i /(4*%f)",nentries,M_PI),0,180); SolidA->Divide(C,1); - // SolidA->Rebin(2); SolidA->Draw(); TF1* f = new TF1("f",Form("2 * %f * sin(x*%f/180.) *2*%f/180.",M_PI,M_PI,M_PI),0,180); f->Draw("SAME"); @@ -114,14 +111,14 @@ void GeometricalEfficiency(const char * fname = "myResult"){ SolidA->GetYaxis()->SetTitle("d#Omega (sr) "); c3->Update(); - - ofstream output; - output.open("data.txt"); - - for(int i = 1 ; i < 90 ; i++) - output << hDetecThetaCM->GetBinCenter(i) << " " - << hDetecThetaCM->GetBinContent(i)<< endl ; - - - output.close(); + TCanvas* c4 = new TCanvas("c4", "CM Frame (use with reaction)"); + TH1F* SolidACM = new TH1F(*hDetecThetaCM); + SolidACM->Sumw2(); + TF1* CCM = new TF1("CCM",Form("%i /(4*%f)",nentries,M_PI),0,180); + SolidACM->Divide(C,1); + SolidACM->Draw(); + f->Draw("SAME"); + SolidACM->GetXaxis()->SetTitle("#theta_{Lab} (deg)"); + SolidACM->GetYaxis()->SetTitle("d#Omega (sr) "); + c4->Update(); } diff --git a/NPLib/Sharc/TSharcPhysics.cxx b/NPLib/Sharc/TSharcPhysics.cxx index 040b268ca..e2b3d5b5b 100644 --- a/NPLib/Sharc/TSharcPhysics.cxx +++ b/NPLib/Sharc/TSharcPhysics.cxx @@ -695,10 +695,10 @@ void TSharcPhysics::AddBoxDetector(double Z) m_NumberOfDetector++; if(Z<0){// Up Stream - if(i==0) {U=TVector3(1,0,0);V=TVector3(0,0,1); Strip_1_1=TVector3(-36.,42.5,-56.) ;} - else if(i==1) {U=TVector3(0,1,0);V=TVector3(0,0,1); Strip_1_1=TVector3(-42.5,-36.,-56.) ;} - else if(i==2) {U=TVector3(-1,0,0);V=TVector3(0,0,1); Strip_1_1=TVector3(36.,-42.5,-56.) ;} - else if(i==3) {U=TVector3(0,-1,0);V=TVector3(0,0,1); Strip_1_1=TVector3(42.5,36.,-56.) ;} + if(i==0) {U=TVector3(1,0,0);V=TVector3(0,0,1); Strip_1_1=TVector3(-36.,40.5,-60) ;} + else if(i==1) {U=TVector3(0,1,0);V=TVector3(0,0,1); Strip_1_1=TVector3(-40.5,-36.,-60.) ;} + else if(i==2) {U=TVector3(-1,0,0);V=TVector3(0,0,1); Strip_1_1=TVector3(36.,-40.5,-60.) ;} + else if(i==3) {U=TVector3(0,-1,0);V=TVector3(0,0,1); Strip_1_1=TVector3(40.5,36.,-60.) ;} } if(Z>0){//Down Stream diff --git a/NPSimulation/Makefile b/NPSimulation/Makefile index e7de1373b..10c08a528 100644 --- a/NPSimulation/Makefile +++ b/NPSimulation/Makefile @@ -12,7 +12,7 @@ DelIncSrcFiles: ./scripts/deletefiles.sh NPSimulation: - make -f Makefile.geant4 + make -j -f Makefile.geant4 clean: ./scripts/deletefiles.sh diff --git a/NPSimulation/Sharc/Sharc.hh b/NPSimulation/Sharc/Sharc.hh index 2f12f0801..5249029ea 100644 --- a/NPSimulation/Sharc/Sharc.hh +++ b/NPSimulation/Sharc/Sharc.hh @@ -46,7 +46,9 @@ namespace SHARC { // Energy and time Resolution const G4double ResoTime = 0 ; - const G4double ResoEnergy = 0.035*MeV ;// = zzkeV of Resolution // Unit is MeV/2.35 + //const G4double ResoEnergy = 0.035*MeV ;// = zzkeV of Resolution // Unit is MeV/2.35 + const G4double ResoEnergy = 0.042*MeV ;// = zzkeV of Resolution // Unit is MeV/2.35 + //const G4double EnergyThreshold = 0.4*MeV; // Change for TRex simulations diff --git a/NPSimulation/src/EventGeneratorBeam.cc b/NPSimulation/src/EventGeneratorBeam.cc index 79dd44710..0354bbeaf 100644 --- a/NPSimulation/src/EventGeneratorBeam.cc +++ b/NPSimulation/src/EventGeneratorBeam.cc @@ -77,7 +77,7 @@ void EventGeneratorBeam::GenerateEvent(G4Event* anEvent){ // Define the particle to be shoot m_particle = G4ParticleTable::GetParticleTable()->GetIon(m_Beam->GetZ(), m_Beam->GetA() , 0.); if(m_Target!=0 ){ - m_Target->WriteDEDXTable(m_particle ,0, m_Beam->GetEnergy()+4*m_Beam->GetSigmaEnergy()); + m_Target->WriteDEDXTable(m_particle ,0, m_Beam->GetEnergy()+4*m_Beam->GetSigmaEnergy()+50*MeV); } } -- GitLab