diff --git a/Inputs/DetectorConfiguration/Sharc.detector b/Inputs/DetectorConfiguration/Sharc.detector index 321973bbb06ec46bae800c1ff7b47510a50d2730..a16b0589e6de301fb0a3f6c53f253af02510b1fa 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 4fd81654b331b216d6dd1273b73e5adeda6d6d72..70af0f6b34c56a9220280af6a6f5c55abad0d471 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 777d2a8c287ac387741db96f34f0248f5db982f5..11bda32f9bbda59f1fd22e9f7d4b49723128ac89 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 040b268ca76245b91cf69c91d0926f3baa3a386c..e2b3d5b5b8f42a3b9338c81aa1af5d5839ad65c4 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 e7de1373b8a932315dbe35af7d6d8a5172b97f83..10c08a528aa629a5b7c9381fcf384f39b43766da 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 2f12f08019074f6885ecbb17818331b5bb1846bc..5249029eada050e8a20a90ecef5c180b08f61161 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 79dd44710bb2709ec6ceb2b32f5814a227b5b281..0354bbeaffc42912020fcd5a84ded519f43e4977 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); } }