Skip to content
Snippets Groups Projects
Commit c9694bbf authored by Pierre Morfouace's avatar Pierre Morfouace
Browse files

updating vamos simulation

parent d4837e2a
No related branches found
No related tags found
1 merge request!27Draft: [Epic] Preparation of the environement for the new GaseousDetectorScorers...
...@@ -97,6 +97,8 @@ namespace Vamos_NS { ...@@ -97,6 +97,8 @@ namespace Vamos_NS {
const G4double Det_Theta = 45 * deg; const G4double Det_Theta = 45 * deg;
// TMW1-2 // TMW1-2
const G4double Mylar_Thickness = 0.9 * micrometer;
const G4double TMW1_Width = 40 * mm; const G4double TMW1_Width = 40 * mm;
const G4double TMW1_Length = 61 * mm; const G4double TMW1_Length = 61 * mm;
const G4double TMW1_Thickness = 5 * mm; const G4double TMW1_Thickness = 5 * mm;
...@@ -105,6 +107,11 @@ namespace Vamos_NS { ...@@ -105,6 +107,11 @@ namespace Vamos_NS {
const G4double TMW2_Length = 93 * mm; const G4double TMW2_Length = 93 * mm;
const G4double TMW2_Thickness = 5 * mm; const G4double TMW2_Thickness = 5 * mm;
// FPMW
const G4double FPMW1_Width = 200 * mm;
const G4double FPMW1_Length = 400 * mm;
const G4double FPMW1_Thickness = 5 * mm;
} }
...@@ -118,13 +125,15 @@ Vamos::Vamos() { ...@@ -118,13 +125,15 @@ Vamos::Vamos() {
m_Event = new TVamosData(); m_Event = new TVamosData();
m_CalorimeterScorer = 0; m_CalorimeterScorer = 0;
m_DCScorer = 0; m_DCScorer = 0;
m_TMW1Scorer = 0; m_InterScorer = 0;
m_Quad1 = 0; m_Quad1 = 0;
m_Quad2 = 0; m_Quad2 = 0;
m_Dipol = 0; m_Dipol = 0;
m_BeamCatcher = 0; m_BeamCatcher = 0;
m_TMW1 = 0; m_TMW1 = 0;
m_TMW2 = 0; m_TMW2 = 0;
m_FPMW1 = 0;
m_FPMW2 = 0;
m_MWPPAC = 0; m_MWPPAC = 0;
m_DC3 = 0; m_DC3 = 0;
m_DC4 = 0; m_DC4 = 0;
...@@ -140,6 +149,7 @@ Vamos::Vamos() { ...@@ -140,6 +149,7 @@ Vamos::Vamos() {
m_VisCatcher = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0)); m_VisCatcher = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0));
m_VisGasC4H10 = new G4VisAttributes(G4Colour(0.0, 1.0, 0.0, 0.2)); m_VisGasC4H10 = new G4VisAttributes(G4Colour(0.0, 1.0, 0.0, 0.2));
m_VisGasCF4 = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0, 0.2)); m_VisGasCF4 = new G4VisAttributes(G4Colour(0.0, 0.0, 1.0, 0.2));
m_VisMylar = new G4VisAttributes(G4Colour(0.85, 0.85, 0.85, 0.8));
} }
Vamos::~Vamos() {} Vamos::~Vamos() {}
...@@ -290,42 +300,97 @@ G4LogicalVolume* Vamos::BuildBeamCatcher() { ...@@ -290,42 +300,97 @@ G4LogicalVolume* Vamos::BuildBeamCatcher() {
} }
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
G4LogicalVolume* Vamos::BuildTMW1() { G4AssemblyVolume* Vamos::BuildTMW1() {
if (!m_TMW1) { if (!m_TMW1) {
G4Box* box = new G4Box("Vamos_TMW1", TMW1_Width * 0.5, m_TMW1 = new G4AssemblyVolume();
TMW1_Length * 0.5, TMW1_Thickness * 0.5); G4Box* box = new G4Box("Vamos_TMW1", TMW1_Width * 0.5,TMW1_Length * 0.5, TMW1_Thickness * 0.5);
G4Box* box_mylar = new G4Box("Vamos_mylar1", TMW1_Width * 0.5,TMW1_Length * 0.5, Mylar_Thickness * 0.5);
G4Material* DetectorMaterial G4Material* DetectorMaterial = MaterialManager::getInstance()->GetGasFromLibrary(m_Gas_TMW1, m_Pressure_TMW1, 295 * kelvin);
= MaterialManager::getInstance()->GetGasFromLibrary( G4Material* MylarMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Mylar");
m_Gas_TMW1, m_Pressure_TMW1, 295 * kelvin);
m_TMW1 = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_TMW1", G4LogicalVolume* gas_volume = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_TMW1", 0, 0, 0);
0, 0, 0); gas_volume->SetVisAttributes(m_VisGasC4H10);
m_TMW1->SetVisAttributes(m_VisGasC4H10);
G4LogicalVolume* mylar_volume = new G4LogicalVolume(box_mylar, MylarMaterial, "logic_Vamos_mylar1", 0, 0, 0);
mylar_volume->SetVisAttributes(m_VisMylar);
gas_volume->SetSensitiveDetector(m_InterScorer);
G4ThreeVector pos_gas = G4ThreeVector(0,0,0);
m_TMW1->AddPlacedVolume(gas_volume, pos_gas, 0);
G4ThreeVector pos_mylar = G4ThreeVector(0,0,-0.5*TMW1_Thickness - 0.5*Mylar_Thickness);
m_TMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);
m_TMW1->SetSensitiveDetector(m_TMW1Scorer); pos_mylar = G4ThreeVector(0,0,0.5*TMW1_Thickness + 0.5*Mylar_Thickness);
m_TMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);
} }
return m_TMW1; return m_TMW1;
} }
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
G4LogicalVolume* Vamos::BuildTMW2() { G4AssemblyVolume* Vamos::BuildTMW2() {
if (!m_TMW2) { if (!m_TMW2) {
G4Box* box = new G4Box("Vamos_TMW2", TMW2_Width * 0.5, m_TMW2 = new G4AssemblyVolume();
TMW2_Length * 0.5, TMW2_Thickness * 0.5); G4Box* box = new G4Box("Vamos_TMW2", TMW2_Width * 0.5,TMW2_Length * 0.5, TMW2_Thickness * 0.5);
G4Box* box_mylar = new G4Box("Vamos_mylar2", TMW2_Width * 0.5,TMW2_Length * 0.5, Mylar_Thickness * 0.5);
G4Material* DetectorMaterial G4Material* DetectorMaterial = MaterialManager::getInstance()->GetGasFromLibrary(m_Gas_TMW2, m_Pressure_TMW2, 295 * kelvin);
= MaterialManager::getInstance()->GetGasFromLibrary( G4Material* MylarMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Mylar");
m_Gas_TMW2, m_Pressure_TMW2, 295 * kelvin);
m_TMW2 = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_TMW2", G4LogicalVolume* gas_volume = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_TMW2", 0, 0, 0);
0, 0, 0); gas_volume->SetVisAttributes(m_VisGasC4H10);
m_TMW2->SetVisAttributes(m_VisGasC4H10);
G4LogicalVolume* mylar_volume = new G4LogicalVolume(box_mylar, MylarMaterial, "logic_Vamos_mylar2", 0, 0, 0);
mylar_volume->SetVisAttributes(m_VisMylar);
G4ThreeVector pos_gas = G4ThreeVector(0,0,0);
m_TMW2->AddPlacedVolume(gas_volume, pos_gas, 0);
G4ThreeVector pos_mylar = G4ThreeVector(0,0,-0.5*TMW2_Thickness - 0.5*Mylar_Thickness);
m_TMW2->AddPlacedVolume(mylar_volume, pos_mylar, 0);
pos_mylar = G4ThreeVector(0,0,0.5*TMW2_Thickness + 0.5*Mylar_Thickness);
m_TMW2->AddPlacedVolume(mylar_volume, pos_mylar, 0);
} }
return m_TMW2; return m_TMW2;
}
/////////////////////////////////////////////////////////////////////
G4AssemblyVolume* Vamos::BuildFPMW1() {
if (!m_FPMW1) {
m_FPMW1 = new G4AssemblyVolume();
G4Box* box = new G4Box("Vamos_FPMW1", FPMW1_Width * 0.5,FPMW1_Length * 0.5, FPMW1_Thickness * 0.5);
G4Box* box_mylar = new G4Box("Vamos_mylar3", FPMW1_Width * 0.5,FPMW1_Length * 0.5, Mylar_Thickness * 0.5);
G4Material* DetectorMaterial = MaterialManager::getInstance()->GetGasFromLibrary(m_Gas_FPMW1, m_Pressure_FPMW1, 295 * kelvin);
G4Material* MylarMaterial = MaterialManager::getInstance()->GetMaterialFromLibrary("Mylar");
G4LogicalVolume* gas_volume = new G4LogicalVolume(box, DetectorMaterial, "logic_Vamos_FPMW1", 0, 0, 0);
gas_volume->SetVisAttributes(m_VisGasC4H10);
G4LogicalVolume* mylar_volume = new G4LogicalVolume(box_mylar, MylarMaterial, "logic_Vamos_mylar3", 0, 0, 0);
mylar_volume->SetVisAttributes(m_VisMylar);
gas_volume->SetSensitiveDetector(m_InterScorer);
G4ThreeVector pos_gas = G4ThreeVector(0,0,0);
m_FPMW1->AddPlacedVolume(gas_volume, pos_gas, 0);
/*G4ThreeVector pos_mylar = G4ThreeVector(0,0,-0.5*FPMW1_Thickness - 0.5*Mylar_Thickness);
m_FPMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);
pos_mylar = G4ThreeVector(0,0,0.5*FPMW1_Thickness + 0.5*Mylar_Thickness);
m_FPMW1->AddPlacedVolume(mylar_volume, pos_mylar, 0);*/
}
return m_FPMW1;
} }
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
G4LogicalVolume* Vamos::BuildMWPPAC() { G4LogicalVolume* Vamos::BuildMWPPAC() {
if (!m_MWPPAC) { if (!m_MWPPAC) {
...@@ -456,7 +521,6 @@ void Vamos::ReadConfiguration(NPL::InputParser parser) { ...@@ -456,7 +521,6 @@ void Vamos::ReadConfiguration(NPL::InputParser parser) {
m_Z_TMW1 = blocks[i]->GetDouble("Z", "mm"); m_Z_TMW1 = blocks[i]->GetDouble("Z", "mm");
m_Gas_TMW1 = blocks[i]->GetString("Gas"); m_Gas_TMW1 = blocks[i]->GetString("Gas");
m_Pressure_TMW1 = blocks[i]->GetDouble("Pressure", "bar"); m_Pressure_TMW1 = blocks[i]->GetDouble("Pressure", "bar");
//AddDetector(Z, Gas, Pressure, Temperature);
} }
else if (blocks[i]->GetMainValue() == "TMW2" else if (blocks[i]->GetMainValue() == "TMW2"
...@@ -466,11 +530,20 @@ void Vamos::ReadConfiguration(NPL::InputParser parser) { ...@@ -466,11 +530,20 @@ void Vamos::ReadConfiguration(NPL::InputParser parser) {
m_Z_TMW2 = blocks[i]->GetDouble("Z", "mm"); m_Z_TMW2 = blocks[i]->GetDouble("Z", "mm");
m_Gas_TMW2 = blocks[i]->GetString("Gas"); m_Gas_TMW2 = blocks[i]->GetString("Gas");
m_Pressure_TMW2 = blocks[i]->GetDouble("Pressure", "bar"); m_Pressure_TMW2 = blocks[i]->GetDouble("Pressure", "bar");
//AddDetector(Z, Gas, Pressure, Temperature); }
else if (blocks[i]->GetMainValue() == "FPMW1"
&& blocks[i]->HasTokenList(TokenTMW)) {
if (NPOptionManager::getInstance()->GetVerboseLevel())
cout << endl << "//// FPMW1" << endl;
m_Z_FPMW1 = blocks[i]->GetDouble("Z", "mm");
m_Gas_FPMW1 = blocks[i]->GetString("Gas");
m_Pressure_FPMW1 = blocks[i]->GetDouble("Pressure", "bar");
} }
else if (blocks[i]->GetMainValue() == "DC" else if (blocks[i]->GetMainValue() == "DC"
&& blocks[i]->HasTokenList(TokenDC)) { && blocks[i]->HasTokenList(TokenDC)) {
if (NPOptionManager::getInstance()->GetVerboseLevel()) if (NPOptionManager::getInstance()->GetVerboseLevel())
...@@ -595,14 +668,16 @@ void Vamos::ConstructDetector(G4LogicalVolume* world) { ...@@ -595,14 +668,16 @@ void Vamos::ConstructDetector(G4LogicalVolume* world) {
G4double Z2 = m_Z_TMW2 * cos(m_Theta); G4double Z2 = m_Z_TMW2 * cos(m_Theta);
G4ThreeVector Det_pos2 = G4ThreeVector(X2, Y2, Z2); G4ThreeVector Det_pos2 = G4ThreeVector(X2, Y2, Z2);
new G4PVPlacement( BuildTMW1()->MakeImprint(world,Det_pos1,RotVamos,1);
G4Transform3D(*RotVamos, Det_pos1), BuildTMW2()->MakeImprint(world,Det_pos2,RotVamos,2);
BuildTMW1(), "TMW1", world, false, 0);
new G4PVPlacement( // FPMW //
G4Transform3D(*RotVamos, Det_pos2), G4double X3 = m_Z_FPMW1 * sin(m_Theta) * cos(Phi);
BuildTMW2(), "TMW2", world, false, 0); G4double Y3 = m_Z_FPMW1 * sin(m_Theta) * sin(Phi);
G4double Z3 = m_Z_FPMW1 * cos(m_Theta);
G4ThreeVector Det_pos3 = G4ThreeVector(X3, Y3, Z3);
BuildFPMW1()->MakeImprint(world,Det_pos3,RotVamos,3);
/* new G4PVPlacement( /* new G4PVPlacement(
0, 0,
...@@ -704,7 +779,7 @@ void Vamos::InitializeScorers() { ...@@ -704,7 +779,7 @@ void Vamos::InitializeScorers() {
bool already_exist = false; bool already_exist = false;
m_DCScorer = CheckScorer("DCScorer", already_exist); m_DCScorer = CheckScorer("DCScorer", already_exist);
m_CalorimeterScorer = CheckScorer("VamosScorer", already_exist); m_CalorimeterScorer = CheckScorer("VamosScorer", already_exist);
m_TMW1Scorer = CheckScorer("TMW1Scorer", already_exist); m_InterScorer = CheckScorer("InterScorer", already_exist);
if (already_exist) if (already_exist)
return; return;
...@@ -720,13 +795,14 @@ void Vamos::InitializeScorers() { ...@@ -720,13 +795,14 @@ void Vamos::InitializeScorers() {
"Drift", level, DriftDir, DriftSpeed, 0); "Drift", level, DriftDir, DriftSpeed, 0);
m_DCScorer->RegisterPrimitive(Drift); m_DCScorer->RegisterPrimitive(Drift);
G4VPrimitiveScorer* InteractionTMW1 = new InteractionScorers::PS_Interactions("InteractionTMW1",ms_InterCoord,0); G4VPrimitiveScorer* InteractionSco = new InteractionScorers::PS_Interactions("InteractionSco",ms_InterCoord,0);
m_TMW1Scorer->RegisterPrimitive(InteractionTMW1); m_InterScorer->RegisterPrimitive(InteractionSco);
// and register it to the multifunctionnal detector // and register it to the multifunctionnal detector
G4SDManager::GetSDMpointer()->AddNewDetector(m_DCScorer); G4SDManager::GetSDMpointer()->AddNewDetector(m_DCScorer);
G4SDManager::GetSDMpointer()->AddNewDetector(m_CalorimeterScorer); G4SDManager::GetSDMpointer()->AddNewDetector(m_CalorimeterScorer);
G4SDManager::GetSDMpointer()->AddNewDetector(m_TMW1Scorer); G4SDManager::GetSDMpointer()->AddNewDetector(m_InterScorer);
} }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
......
...@@ -30,6 +30,7 @@ using namespace std; ...@@ -30,6 +30,7 @@ using namespace std;
#include "G4ThreeVector.hh" #include "G4ThreeVector.hh"
#include "G4RotationMatrix.hh" #include "G4RotationMatrix.hh"
#include "G4LogicalVolume.hh" #include "G4LogicalVolume.hh"
#include "G4AssemblyVolume.hh"
#include "G4MultiFunctionalDetector.hh" #include "G4MultiFunctionalDetector.hh"
#include "G4UnionSolid.hh" #include "G4UnionSolid.hh"
...@@ -68,8 +69,10 @@ class Vamos : public NPS::VDetector{ ...@@ -68,8 +69,10 @@ class Vamos : public NPS::VDetector{
G4LogicalVolume* BuildDC3(); G4LogicalVolume* BuildDC3();
G4LogicalVolume* BuildDC4(); G4LogicalVolume* BuildDC4();
G4LogicalVolume* BuildIC(); G4LogicalVolume* BuildIC();
G4LogicalVolume* BuildTMW1(); G4AssemblyVolume* BuildTMW1();
G4LogicalVolume* BuildTMW2(); G4AssemblyVolume* BuildTMW2();
G4AssemblyVolume* BuildFPMW1();
G4AssemblyVolume* BuildFPMW2();
private: private:
...@@ -85,8 +88,10 @@ class Vamos : public NPS::VDetector{ ...@@ -85,8 +88,10 @@ class Vamos : public NPS::VDetector{
G4LogicalVolume* m_DC3; G4LogicalVolume* m_DC3;
G4LogicalVolume* m_DC4; G4LogicalVolume* m_DC4;
G4LogicalVolume* m_IC; G4LogicalVolume* m_IC;
G4LogicalVolume* m_TMW1; G4AssemblyVolume* m_TMW1;
G4LogicalVolume* m_TMW2; G4AssemblyVolume* m_TMW2;
G4AssemblyVolume* m_FPMW1;
G4AssemblyVolume* m_FPMW2;
G4double ICcounter; G4double ICcounter;
...@@ -121,7 +126,7 @@ class Vamos : public NPS::VDetector{ ...@@ -121,7 +126,7 @@ class Vamos : public NPS::VDetector{
// Associated Scorer // Associated Scorer
G4MultiFunctionalDetector* m_CalorimeterScorer ; G4MultiFunctionalDetector* m_CalorimeterScorer ;
G4MultiFunctionalDetector* m_DCScorer ; G4MultiFunctionalDetector* m_DCScorer ;
G4MultiFunctionalDetector* m_TMW1Scorer ; G4MultiFunctionalDetector* m_InterScorer ;
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
///////////Event class to store Data//////////////// ///////////Event class to store Data////////////////
...@@ -167,6 +172,12 @@ class Vamos : public NPS::VDetector{ ...@@ -167,6 +172,12 @@ class Vamos : public NPS::VDetector{
string m_Gas_TMW2; string m_Gas_TMW2;
double m_Pressure_TMW1; double m_Pressure_TMW1;
double m_Pressure_TMW2; double m_Pressure_TMW2;
double m_Z_FPMW1;
double m_Z_FPMW2;
string m_Gas_FPMW1;
string m_Gas_FPMW2;
double m_Pressure_FPMW1;
double m_Pressure_FPMW2;
// Shape type // Shape type
...@@ -177,6 +188,7 @@ class Vamos : public NPS::VDetector{ ...@@ -177,6 +188,7 @@ class Vamos : public NPS::VDetector{
G4VisAttributes* m_VisCatcher; G4VisAttributes* m_VisCatcher;
G4VisAttributes* m_VisGasC4H10; G4VisAttributes* m_VisGasC4H10;
G4VisAttributes* m_VisGasCF4; G4VisAttributes* m_VisGasCF4;
G4VisAttributes* m_VisMylar;
public: public:
static NPS::VDetector* Construct(); static NPS::VDetector* Construct();
......
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
#include "G4HadronElasticPhysics.hh" #include "G4HadronElasticPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh" #include "G4HadronElasticPhysicsHP.hh"
#include "G4HadronPhysicsINCLXX.hh" #include "G4HadronPhysicsINCLXX.hh"
#include "G4IonPhysics.hh"
#include "G4IonFluctuations.hh" #include "G4IonFluctuations.hh"
#include "G4IonINCLXXPhysics.hh" #include "G4IonINCLXXPhysics.hh"
#include "G4IonParametrisedLossModel.hh" #include "G4IonParametrisedLossModel.hh"
...@@ -72,6 +73,7 @@ ...@@ -72,6 +73,7 @@
#include "G4UnitsTable.hh" #include "G4UnitsTable.hh"
#include "G4UniversalFluctuation.hh" #include "G4UniversalFluctuation.hh"
#include "G4VPhysicsConstructor.hh" #include "G4VPhysicsConstructor.hh"
#include "G4ChargeExchangePhysics.hh"
#ifdef USE_NEUTRONHP #ifdef USE_NEUTRONHP
#include "NeutronHPphysics.hh" #include "NeutronHPphysics.hh"
#endif #endif
...@@ -147,6 +149,10 @@ PhysicsList::PhysicsList() : G4VUserPhysicsList() { ...@@ -147,6 +149,10 @@ PhysicsList::PhysicsList() : G4VUserPhysicsList() {
cout << "//// Using G4IonBinaryCascadePhysics Physics List ////" << endl; cout << "//// Using G4IonBinaryCascadePhysics Physics List ////" << endl;
} }
if (m_EmExtraPhysics) { if (m_EmExtraPhysics) {
cout << "//// Using G4IonPhysics and G4EmExtraPhysics Physics List ////" << endl;
//G4ChargeExchangePhysics* ceph = new G4ChargeExchangePhysics();
//ceph->SetCrossSectionFactor(10);
RegisterPhysics(new G4IonPhysics());
RegisterPhysics(new G4EmExtraPhysics()); RegisterPhysics(new G4EmExtraPhysics());
} }
if (m_HadronElasticPhysics) { if (m_HadronElasticPhysics) {
......
...@@ -125,9 +125,13 @@ void Analysis::TreatEvent(){ ...@@ -125,9 +125,13 @@ void Analysis::TreatEvent(){
double Zint = InteractionCoordinates->GetDetectedPositionZ(j); double Zint = InteractionCoordinates->GetDetectedPositionZ(j);
double A = InteractionCoordinates->GetA(j); double A = InteractionCoordinates->GetA(j);
double Z = InteractionCoordinates->GetZ(j); double Z = InteractionCoordinates->GetZ(j);
double Q = InteractionCoordinates->GetCharge(j);
double Brho = InteractionCoordinates->GetBrho(j);
if(A!=10){ if(A!=10){
FF_A = A; FF_A = A;
FF_Z = Z; FF_Z = Z;
FF_Q = Q;
FF_Brho = Brho;
} }
} }
} }
...@@ -157,6 +161,8 @@ void Analysis::InitOutputBranch(){ ...@@ -157,6 +161,8 @@ void Analysis::InitOutputBranch(){
RootOutput::getInstance()->GetTree()->Branch("FF_A",&FF_A,"FF_A/D"); RootOutput::getInstance()->GetTree()->Branch("FF_A",&FF_A,"FF_A/D");
RootOutput::getInstance()->GetTree()->Branch("FF_Z",&FF_Z,"FF_Z/D"); RootOutput::getInstance()->GetTree()->Branch("FF_Z",&FF_Z,"FF_Z/D");
RootOutput::getInstance()->GetTree()->Branch("FF_Q",&FF_Q,"FF_Q/D");
RootOutput::getInstance()->GetTree()->Branch("FF_Brho",&FF_Brho,"FF_Brho/D");
RootOutput::getInstance()->GetTree()->Branch("init_FF_Z",&init_FF_Z); RootOutput::getInstance()->GetTree()->Branch("init_FF_Z",&init_FF_Z);
RootOutput::getInstance()->GetTree()->Branch("init_FF_A",&init_FF_A); RootOutput::getInstance()->GetTree()->Branch("init_FF_A",&init_FF_A);
} }
...@@ -199,6 +205,8 @@ void Analysis::ReInitValue(){ ...@@ -199,6 +205,8 @@ void Analysis::ReInitValue(){
Telescope = -1; Telescope = -1;
FF_A = -1; FF_A = -1;
FF_Z = -1; FF_Z = -1;
FF_Q = -1;
FF_Brho = -1;
init_FF_Z.clear(); init_FF_Z.clear();
init_FF_A.clear(); init_FF_A.clear();
} }
......
...@@ -70,6 +70,8 @@ class Analysis: public NPL::VAnalysis{ ...@@ -70,6 +70,8 @@ class Analysis: public NPL::VAnalysis{
double FF_A; double FF_A;
double FF_Z; double FF_Z;
double FF_Q;
double FF_Brho;
vector<double> init_FF_Z; vector<double> init_FF_Z;
vector<double> init_FF_A; vector<double> init_FF_A;
......
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
GEFReader GEFReader
GEFversion= 2023.13 GEFversion= 2023.13
InputDataFile= GEF/240Pu_14MeV.lmd InputDataFile= GEF/240Pu_6MeV.lmd
x0= 0 x0= 0
y0= 0 y0= 0
z0= 0 mm z0= 0 mm
TwoBodyReaction= 238U(12C,10Be)240Pu@1428 TwoBodyReaction= 238U(12C,10Be)240Pu@1428
FissioningSystem= 240Pu FissioningSystem= 240Pu
SigmaX= 1 mm SigmaX= 0 mm
SigmaY= 1 mm SigmaY= 0 mm
Particle= fragments Particle= fragments
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Supported particle type: proton, neutron, gamma, fragments. % Supported particle type: proton, neutron, gamma, fragments.
......
%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
Target Target
THICKNESS= 0.44 micrometer THICKNESS= 0.001 micrometer
RADIUS= 5 mm RADIUS= 5 mm
MATERIAL= C MATERIAL= C
ANGLE= 0 deg ANGLE= 0 deg
...@@ -16,12 +16,17 @@ Vamos ...@@ -16,12 +16,17 @@ Vamos
Vamos TMW1 Vamos TMW1
Z = 162.7 mm Z = 162.7 mm
Gas= iC4H10 Gas= iC4H10
Pressure= 0.01 bar Pressure= 0.006 bar
Vamos TMW2 Vamos TMW2
Z = 272 mm Z = 272 mm
Gas= iC4H10 Gas= iC4H10
Pressure= 0.01 bar Pressure= 0.006 bar
Vamos FPMW1
Z = 500 mm
Gas= iC4H10
Pressure= 0.006 bar
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment