diff --git a/NPAnalysis/Gaspard/include/ObjectManager.hh b/NPAnalysis/Gaspard/include/ObjectManager.hh index 488ccb7a32543ee71990fedcf42d3730a7c81e58..467f5e45e5248c2a7560cd7747a42c2904d5951c 100644 --- a/NPAnalysis/Gaspard/include/ObjectManager.hh +++ b/NPAnalysis/Gaspard/include/ObjectManager.hh @@ -107,11 +107,19 @@ namespace ENERGYLOSS // Declare your Energy loss here // EnergyLoss LightTargetCD2 = EnergyLoss("proton_cd2.txt", 100, 1, 1); // LISE++ // For 132Sn(d,p) + // CD2 // EnergyLoss LightTarget = EnergyLoss("proton_CD2.G4table", "G4Table", 1000); // G4 // EnergyLoss BeamTarget = EnergyLoss("Sn132[0.0]_CD2.G4table", "G4Table", 1000); // G4 + // solid D2 +// EnergyLoss LightTarget = EnergyLoss("proton_D2_solid.G4table", "G4Table", 1000); // G4 +// EnergyLoss BeamTarget = EnergyLoss("Sn132[0.0]_D2_solid.G4table", "G4Table", 1000); // G4 // For 134Sn(p,t) - EnergyLoss LightTarget = EnergyLoss("triton_CH2.G4table", "G4Table", 1000); // G4 - EnergyLoss BeamTarget = EnergyLoss("Sn134[0.0]_CH2.G4table", "G4Table", 1000); // G4 + // CH2 +// EnergyLoss LightTarget = EnergyLoss("triton_CH2.G4table", "G4Table", 1000); // G4 +// EnergyLoss BeamTarget = EnergyLoss("Sn134[0.0]_CH2.G4table", "G4Table", 1000); // G4 + // solid H2 + EnergyLoss LightTarget = EnergyLoss("triton_H2_solid.G4table", "G4Table", 1000); // G4 + EnergyLoss BeamTarget = EnergyLoss("Sn134[0.0]_H2_solid.G4table", "G4Table", 1000); // G4 // For 132Sn(d,t) // EnergyLoss LightTarget = EnergyLoss("triton_CD2.G4table", "G4Table", 1000); // G4 // EnergyLoss BeamTarget = EnergyLoss("Sn132[0.0]_CD2.G4table", "G4Table", 1000); // G4 diff --git a/NPAnalysis/Gaspard/src/Analysis.cc b/NPAnalysis/Gaspard/src/Analysis.cc index 6740890e6b4a480f4c3c9f20c910d409f839c6b2..8162feff58c6a792513052f34f76118579d00000 100644 --- a/NPAnalysis/Gaspard/src/Analysis.cc +++ b/NPAnalysis/Gaspard/src/Analysis.cc @@ -149,8 +149,8 @@ int main(int argc,char** argv) // if (Theta/deg < 60 && ThetaCM/deg < 90) { // if (Theta/deg > 35 && Theta/deg < 45 && E/MeV < 17) { // if (Theta/deg < 45) { - if (E/MeV < 38) { -// if (Theta/deg > 90) { + if (E/MeV < 38) { // for (p,t) reaction +// if (Theta/deg > 90) { // for (d,p) reaction ExNoStrips = myReaction->ReconstructRelativistic(E, Theta / rad); Ex = myReaction->ReconstructRelativistic(E, ThetaStrip); } diff --git a/NPAnalysis/macros/GeometricalEfficiency.C b/NPAnalysis/macros/GeometricalEfficiency.C index 3062f9bd40c3fdb64df0eadd0cb57243af9e6faf..fed847d8c3c780e8d9b2248eb12cd5c62049a2c3 100644 --- a/NPAnalysis/macros/GeometricalEfficiency.C +++ b/NPAnalysis/macros/GeometricalEfficiency.C @@ -78,11 +78,20 @@ void GeometricalEfficiency(const char * fname = "mySimul") hDetecTheta->Fill(interCoord->GetDetectedAngleTheta(0)); } + TCanvas *c1 = new TCanvas("c1", "c1"); + c1->Draw(); // 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 e530;#Theta [deg];#epsilon [%]"); +// efficiency->SetTitle("Efficiency GASPARD (Spheric version);#Theta [deg];#epsilon [%]"); + efficiency->SetTitle("Efficiency GASPARD;#Theta [deg];#epsilon [%]"); efficiency->Divide(hDetecTheta,hEmittTheta,100); efficiency->SetMaximum(110); efficiency->Draw(); + + + TCanvas *c2 = new TCanvas("c2", "c2"); + c2->Draw(); + hEmittTheta->Draw(); + hDetecTheta->SetLineColor(kRed); + hDetecTheta->Draw("same"); } diff --git a/NPLib/GASPARD/GaspardTracker.cxx b/NPLib/GASPARD/GaspardTracker.cxx index ee430b6cd09f6f03198c8e9429eff559047ded2f..7c8aa36ebd1cf849dae9f0fbce6216dbe06987d6 100644 --- a/NPLib/GASPARD/GaspardTracker.cxx +++ b/NPLib/GASPARD/GaspardTracker.cxx @@ -802,7 +802,7 @@ void GaspardTracker::AddModuleDummyShape(double theta, V.Rotate( beta_w * Pi/180. , W ) ; double Face = 50; // mm - double NumberOfStrip = 25; + double NumberOfStrip = 100; double StripPitch = Face/NumberOfStrip; // mm vector<double> lineX; diff --git a/NPSimulation/include/GaspardTrackerDummyShape.hh b/NPSimulation/include/GaspardTrackerDummyShape.hh index 7c5fc84872c32fe4fb68c2128e5bbb8149ba15a9..aafc1c50503b4e01502ccfb5b20800400d428fc8 100644 --- a/NPSimulation/include/GaspardTrackerDummyShape.hh +++ b/NPSimulation/include/GaspardTrackerDummyShape.hh @@ -165,8 +165,8 @@ namespace GPDDUMMYSHAPE // const G4int NumberOfStrips = 10; // 5 mm strip pitch // const G4int NumberOfStrips = 25; // 2 mm strip pitch // const G4int NumberOfStrips = 50; // 1 mm strip pitch -// const G4int NumberOfStrips = 100; // 0.5 mm strip pitch - const G4int NumberOfStrips = 500; // 0.1 mm strip pitch + const G4int NumberOfStrips = 100; // 0.5 mm strip pitch +// const G4int NumberOfStrips = 500; // 0.1 mm strip pitch // Second stage const G4double SecondStageFace = FirstStageFace; diff --git a/NPSimulation/include/GaspardTrackerTrapezoid.hh b/NPSimulation/include/GaspardTrackerTrapezoid.hh index c7224df3b91d120b7e23ea7bfbcb0c737b080bff..05bf5bef1a4a9c3d220ad3be5a6b5d6cc497e2fc 100644 --- a/NPSimulation/include/GaspardTrackerTrapezoid.hh +++ b/NPSimulation/include/GaspardTrackerTrapezoid.hh @@ -155,18 +155,29 @@ namespace GPDTRAP const G4double ResoTimePPAC = 0.106382979 ;// = 250ps // Unit is ns/2.35 // Geometry - const G4double Height = 90*mm; + // gaspard Trapezoid +/* const G4double Height = 90*mm; const G4double BaseLarge = 85*mm; const G4double BaseSmall = 35*mm; - const G4double Length = 20*mm; + const G4double Length = 20*mm;*/ + // gaspHyde + const G4double Height = 115*mm; + const G4double BaseLarge = 98*mm; + const G4double BaseSmall = 30*mm; + const G4double Length = 20*mm; // First stage // const G4double AluStripThickness = 0.00000001*micrometer; const G4double AluStripThickness = 0.4*micrometer; const G4double FirstStageThickness = 300*micrometer; - const G4double FirstStageHeight = 81*mm; + // gaspard Trapezoid +/* const G4double FirstStageHeight = 81*mm; const G4double FirstStageBaseLarge = 78*mm; - const G4double FirstStageBaseSmall = 29*mm; + const G4double FirstStageBaseSmall = 29*mm;*/ + // gaspHyde + const G4double FirstStageHeight = 113.5*mm; + const G4double FirstStageBaseLarge = 97.5*mm; + const G4double FirstStageBaseSmall = 28.5*mm; // const G4double VacBoxThickness = 3*cm ; const G4double VacBoxThickness = 0.5*cm; const G4int NumberOfStripsX = 128; diff --git a/NPSimulation/src/GaspardTrackerAnnular.cc b/NPSimulation/src/GaspardTrackerAnnular.cc index 64693c36fb2e6979df99edd208bea0064fa2219d..9e00cbe189133cd2c8b5bd81e467555bf3fa00cb 100644 --- a/NPSimulation/src/GaspardTrackerAnnular.cc +++ b/NPSimulation/src/GaspardTrackerAnnular.cc @@ -290,7 +290,7 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber , ///Visualisation of Silicon Strip // G4VisAttributes* SiliconVisAtt = new G4VisAttributes(G4Colour(0.5, 0.5, 0.5)) ; - G4VisAttributes* SiliconVisAtt = new G4VisAttributes(G4Colour(0.0, 0.0, 0.9)) ; + G4VisAttributes* SiliconVisAtt = new G4VisAttributes(G4Colour(0.0, 0.0, 0.9)) ; // bleu logicSilicon->SetVisAttributes(SiliconVisAtt) ; } @@ -319,7 +319,7 @@ void GaspardTrackerAnnular::VolumeMaker(G4int TelescopeNumber , PVPBuffer = new G4PVPlacement(0, positionThirdStage, logicThirdStage, Name + "_ThirdStage", logicMM, false, 0); ///Visualisation of Third Stage - G4VisAttributes* ThirdStageVisAtt = new G4VisAttributes(G4Colour(0.0, 0.9, 0.)) ; + G4VisAttributes* ThirdStageVisAtt = new G4VisAttributes(G4Colour(0.0, 0.9, 0.)) ; // green logicThirdStage->SetVisAttributes(ThirdStageVisAtt) ; // logicThirdStage->SetVisAttributes(G4VisAttributes::Invisible); diff --git a/NPSimulation/src/Target.cc b/NPSimulation/src/Target.cc index bce572dc1ebee8f3e1c55fcd1e2d1a789669bb75..b8d5ef2c33790050ca93a519616e65bae609935b 100644 --- a/NPSimulation/src/Target.cc +++ b/NPSimulation/src/Target.cc @@ -130,7 +130,19 @@ G4Material* Target::GetMaterialFromLibrary(G4String MaterialName, G4double Tempe return(myMaterial); } + else if (MaterialName == "D2_solid") { + G4Element* D = new G4Element("Deuteron", "D", 1., 2.0141*g / mole); + G4Material* myMaterial = new G4Material("D2_solid", 0.0715*g/cm3, 1); + myMaterial->AddElement(D, 2); + return(myMaterial); + } + else if (MaterialName == "H2_solid") { + G4Element* H = new G4Element("Hydrogen", "H", 1., 1.01*g / mole); + G4Material* myMaterial = new G4Material("H2_solid", 0.0715*g/cm3, 1); + myMaterial->AddElement(H, 2); + return(myMaterial); + } else if (MaterialName == "Mylar") { G4cout << "Mylar Material" << G4endl ;