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

* Updating Sofia project

parent 5ddff336
No related branches found
No related tags found
No related merge requests found
...@@ -3,31 +3,31 @@ ...@@ -3,31 +3,31 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%Beam energy given in MeV ; Excitation in MeV ; emmitance in rad %%Beam energy given in MeV ; Excitation in MeV ; emmitance in rad
Beam Beam
Particle= 238U Particle= 189Pb
Energy= 166000 Energy= 166000
SigmaEnergy= 2 SigmaEnergy= 2
SigmaX= 1 cm SigmaX= 11 mm
SigmaY= 1 cm SigmaY= 5 mm
SigmaThetaX= 0 SigmaThetaX= 0
SigmaPhiY= 0 SigmaPhiY= 0
MeanThetaX= 0 MeanThetaX= 0
MeanPhiY= 0 MeanPhiY= 0
MeanX= 0 MeanX= 11 mm
MeanY= 0 MeanY= -1.4 mm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TwoBodyReaction TwoBodyReaction
Beam= 238U Beam= 189Pb
Target= 208Pb Target= 208Pb
Light= 208Pb Light= 189Pb
Heavy= 238U Heavy= 208Pb
ExcitationEnergyLight= 0.0 ExcitationEnergyLight= 15.0
ExcitationEnergyHeavy= 15.0 ExcitationEnergyHeavy= 0.0
CrossSectionPath= sofia.txt CS CrossSectionPath= sofia.txt CS
ShootLight= 1 ShootLight= 1
ShootHeavy= 1 ShootHeavy= 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FissionDecay FissionDecay
CompoundNucleus= 238U CompoundNucleus= 189Pb
FissionModel= GEF FissionModel= GEF
VamosChargeStates= 0 VamosChargeStates= 0
Shoot_FF= 1 Shoot_FF= 1
......
...@@ -55,8 +55,12 @@ void TSofFissionFragment::Clear() { ...@@ -55,8 +55,12 @@ void TSofFissionFragment::Clear() {
fFF_ThetaIn.clear(); fFF_ThetaIn.clear();
fFF_TofPosX.clear(); fFF_TofPosX.clear();
fFF_TofPosY.clear(); fFF_TofPosY.clear();
fFF_MwpcPosX.clear(); fFF_PosX1.clear();
fFF_MwpcPosY.clear(); fFF_PosX2.clear();
fFF_PosX3.clear();
fFF_PosY1.clear();
fFF_PosY2.clear();
fFF_PosY3.clear();
fFF_Zsum = -1; fFF_Zsum = -1;
fFF_IntZsum = -1; fFF_IntZsum = -1;
......
...@@ -46,8 +46,12 @@ class TSofFissionFragment : public TObject { ...@@ -46,8 +46,12 @@ class TSofFissionFragment : public TObject {
vector<double> fFF_ThetaIn; vector<double> fFF_ThetaIn;
vector<double> fFF_TofPosX; vector<double> fFF_TofPosX;
vector<double> fFF_TofPosY; vector<double> fFF_TofPosY;
vector<double> fFF_MwpcPosX; vector<double> fFF_PosX1;
vector<double> fFF_MwpcPosY; vector<double> fFF_PosX2;
vector<double> fFF_PosX3;
vector<double> fFF_PosY1;
vector<double> fFF_PosY2;
vector<double> fFF_PosY3;
double fFF_Zsum; double fFF_Zsum;
int fFF_IntZsum; int fFF_IntZsum;
...@@ -87,12 +91,20 @@ class TSofFissionFragment : public TObject { ...@@ -87,12 +91,20 @@ class TSofFissionFragment : public TObject {
inline void SetThetaIn(double val){fFF_ThetaIn.push_back(val);};//! inline void SetThetaIn(double val){fFF_ThetaIn.push_back(val);};//!
inline void SetTofPosX(double val){fFF_TofPosX.push_back(val);};//! inline void SetTofPosX(double val){fFF_TofPosX.push_back(val);};//!
inline void SetTofPosY(double val){fFF_TofPosY.push_back(val);};//! inline void SetTofPosY(double val){fFF_TofPosY.push_back(val);};//!
inline void SetMwpcPosX(double val){fFF_MwpcPosX.push_back(val);};//! inline void SetPosX1(double val){fFF_PosX1.push_back(val);};//!
inline void SetMwpcPosY(double val){fFF_MwpcPosY.push_back(val);};//! inline void SetPosX2(double val){fFF_PosX2.push_back(val);};//!
inline void SetPosX3(double val){fFF_PosX3.push_back(val);};//!
inline void SetPosY1(double val){fFF_PosY1.push_back(val);};//!
inline void SetPosY2(double val){fFF_PosY2.push_back(val);};//!
inline void SetPosY3(double val){fFF_PosY3.push_back(val);};//!
////////////////////// GETTERS //////////////////////// ////////////////////// GETTERS ////////////////////////
int GetMult() {return fFF_Z.size();}//! int GetMult() {return fFF_Z.size();}//!
int GetMultTofPos() {return fFF_TofPosY.size();}//!
int GetMultMwpc1() {return fFF_PosY1.size();}//!
int GetMultMwpc2() {return fFF_PosY2.size();}//!
int GetMultMwpc3() {return fFF_PosY3.size();}//!
inline double GetZsum() const {return fFF_Zsum;}//! inline double GetZsum() const {return fFF_Zsum;}//!
inline int GetIntZsum() const {return fFF_IntZsum;}//! inline int GetIntZsum() const {return fFF_IntZsum;}//!
inline double GetZ(int i) const {return fFF_Z[i];}//! inline double GetZ(int i) const {return fFF_Z[i];}//!
...@@ -107,8 +119,12 @@ class TSofFissionFragment : public TObject { ...@@ -107,8 +119,12 @@ class TSofFissionFragment : public TObject {
inline double GetThetaIn(int i) const {return fFF_ThetaIn[i];}//! inline double GetThetaIn(int i) const {return fFF_ThetaIn[i];}//!
inline double GetTofPosX(int i) const {return fFF_TofPosX[i];}//! inline double GetTofPosX(int i) const {return fFF_TofPosX[i];}//!
inline double GetTofPosY(int i) const {return fFF_TofPosY[i];}//! inline double GetTofPosY(int i) const {return fFF_TofPosY[i];}//!
inline double GetMwpcPosX(int i) const {return fFF_MwpcPosX[i];}//! inline double GetPosX1(int i) const {return fFF_PosX1[i];}//!
inline double GetMwpcPosY(int i) const {return fFF_MwpcPosY[i];}//! inline double GetPosX2(int i) const {return fFF_PosX2[i];}//!
inline double GetPosX3(int i) const {return fFF_PosX3[i];}//!
inline double GetPosY1(int i) const {return fFF_PosY1[i];}//!
inline double GetPosY2(int i) const {return fFF_PosY2[i];}//!
inline double GetPosY3(int i) const {return fFF_PosY3[i];}//!
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
......
...@@ -92,9 +92,14 @@ SofTofW::SofTofW(){ ...@@ -92,9 +92,14 @@ SofTofW::SofTofW(){
m_TofScorer = 0; m_TofScorer = 0;
m_PlasticTof = 0; m_PlasticTof = 0;
m_GLAD= 0; m_GLAD= 0;
m_VacuumPipe= 0;
m_TofWall = 0; m_TofWall = 0;
m_Build_GLAD= 0; m_Build_GLAD= 0;
m_Build_VacuumPipe= 0;
m_VacuumPipeX= 0;
m_VacuumPipeY= 0;
m_VacuumPipeZ= 0;
m_GLAD_MagField = 0; m_GLAD_MagField = 0;
m_GLAD_DistanceFromTarget = 0; m_GLAD_DistanceFromTarget = 0;
...@@ -247,18 +252,39 @@ new G4PVPlacement(0,Tv, ...@@ -247,18 +252,39 @@ new G4PVPlacement(0,Tv,
return m_TwinMusic; return m_TwinMusic;
}*/ }*/
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4AssemblyVolume* SofTofW::BuildVacuumPipe(){
if(!m_VacuumPipe){
m_VacuumPipe = new G4AssemblyVolume;
//G4Tubs* tube = new G4Tubs("tube",8.*cm,15*cm,155./2*cm,0,360*deg);
G4Box* tube = new G4Box("tube",20.*cm,20*cm,10*cm);
G4Material* tube_mat = MaterialManager::getInstance()->GetMaterialFromLibrary("Al");
G4LogicalVolume* tube_vol = new G4LogicalVolume(tube,tube_mat,"logic_tube",0,0,0);
G4ThreeVector Pos = G4ThreeVector(0,0,0);
G4RotationMatrix* Rot = new G4RotationMatrix();
m_VacuumPipe->AddPlacedVolume(tube_vol,Pos,Rot);
}
return m_VacuumPipe;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4AssemblyVolume* SofTofW::BuildGLAD() G4AssemblyVolume* SofTofW::BuildGLAD()
{ {
if(!m_GLAD){ if(!m_GLAD){
m_GLAD = new G4AssemblyVolume; m_GLAD = new G4AssemblyVolume;
string basepath = getenv("NPTOOL"); string basepath = getenv("NPTOOL");
string path = basepath + "/NPSimulation/Detectors/Sofia/gdml/glad.gdml"; //string path = basepath + "/NPSimulation/Detectors/Sofia/gdml/glad.gdml";
m_gdmlparser.Read(path); //m_gdmlparser.Read(path);
//G4LogicalVolume* vol1 = m_gdmlparser.GetVolume("GEcrans"); //G4LogicalVolume* vol1 = m_gdmlparser.GetVolume("GEcrans");
//G4LogicalVolume* vol2 = m_gdmlparser.GetVolume("G2202001_Demi_Ecran_thermique_interne"); //G4LogicalVolume* vol2 = m_gdmlparser.GetVolume("G2202001_Demi_Ecran_thermique_interne");
G4LogicalVolume* vol3 = m_gdmlparser.GetVolume("G2402001_Enceinte_interne");
//G4LogicalVolume* vol3 = m_gdmlparser.GetVolume("G2402001_Enceinte_interne");
//G4LogicalVolume* vol4 = m_gdmlparser.GetVolume("GEnceinte_externe"); //G4LogicalVolume* vol4 = m_gdmlparser.GetVolume("GEnceinte_externe");
//G4LogicalVolume* vol5 = m_gdmlparser.GetVolume("G2403002_Fonf_cote_sortie"); //G4LogicalVolume* vol5 = m_gdmlparser.GetVolume("G2403002_Fonf_cote_sortie");
//G4LogicalVolume* vol6 = m_gdmlparser.GetVolume("G2403001_Fond_cote_entree"); //G4LogicalVolume* vol6 = m_gdmlparser.GetVolume("G2403001_Fond_cote_entree");
...@@ -291,11 +317,11 @@ G4AssemblyVolume* SofTofW::BuildGLAD() ...@@ -291,11 +317,11 @@ G4AssemblyVolume* SofTofW::BuildGLAD()
//m_GLAD->AddPlacedVolume(vol2,Pos2,Rot2); //m_GLAD->AddPlacedVolume(vol2,Pos2,Rot2);
// *** vol3 *** // // *** vol3 *** //
G4ThreeVector Pos3 = G4ThreeVector(0,0,0); /*G4ThreeVector Pos3 = G4ThreeVector(0,0,0);
G4RotationMatrix* Rot3 = new G4RotationMatrix(); G4RotationMatrix* Rot3 = new G4RotationMatrix();
Rot3->rotateX(90*deg); Rot3->rotateX(90*deg);
Rot3->rotateY(90*deg); Rot3->rotateY(90*deg);
m_GLAD->AddPlacedVolume(vol3,Pos3,Rot3); m_GLAD->AddPlacedVolume(vol3,Pos3,Rot3);*/
// *** vol4 *** // // *** vol4 *** //
//G4ThreeVector Pos4 = G4ThreeVector(0*cm,0,0*cm); //G4ThreeVector Pos4 = G4ThreeVector(0*cm,0,0*cm);
...@@ -371,8 +397,8 @@ void SofTofW::ReadConfiguration(NPL::InputParser parser){ ...@@ -371,8 +397,8 @@ void SofTofW::ReadConfiguration(NPL::InputParser parser){
if(NPOptionManager::getInstance()->GetVerboseLevel()) if(NPOptionManager::getInstance()->GetVerboseLevel())
cout << "//// " << blocks.size() << " detectors found " << endl; cout << "//// " << blocks.size() << " detectors found " << endl;
vector<string> cart = {"POS","Build_GLAD"}; vector<string> cart = {"POS","Build_GLAD","Build_VacuumPipe"};
vector<string> sphe = {"R","Theta","Phi","Build_GLAD"}; vector<string> sphe = {"R","Theta","Phi","Build_GLAD","Build_VacuumPipe"};
for(unsigned int i = 0 ; i < blocks.size() ; i++){ for(unsigned int i = 0 ; i < blocks.size() ; i++){
if(blocks[i]->HasTokenList(cart)){ if(blocks[i]->HasTokenList(cart)){
...@@ -381,6 +407,7 @@ void SofTofW::ReadConfiguration(NPL::InputParser parser){ ...@@ -381,6 +407,7 @@ void SofTofW::ReadConfiguration(NPL::InputParser parser){
G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm"));
m_Build_GLAD = blocks[i]->GetInt("Build_GLAD"); m_Build_GLAD = blocks[i]->GetInt("Build_GLAD");
m_Build_VacuumPipe = blocks[i]->GetInt("Build_VacuumPipe");
AddDetector(Pos); AddDetector(Pos);
} }
else if(blocks[i]->HasTokenList(sphe)){ else if(blocks[i]->HasTokenList(sphe)){
...@@ -390,8 +417,12 @@ void SofTofW::ReadConfiguration(NPL::InputParser parser){ ...@@ -390,8 +417,12 @@ void SofTofW::ReadConfiguration(NPL::InputParser parser){
double Theta = blocks[i]->GetDouble("Theta","deg"); double Theta = blocks[i]->GetDouble("Theta","deg");
double Phi = blocks[i]->GetDouble("Phi","deg"); double Phi = blocks[i]->GetDouble("Phi","deg");
m_Build_GLAD = blocks[i]->GetInt("Build_GLAD"); m_Build_GLAD = blocks[i]->GetInt("Build_GLAD");
m_Build_VacuumPipe = blocks[i]->GetInt("Build_VacuumPipe");
m_GLAD_MagField = blocks[i]->GetDouble("GLAD_MagField","T"); m_GLAD_MagField = blocks[i]->GetDouble("GLAD_MagField","T");
m_GLAD_DistanceFromTarget = blocks[i]->GetDouble("GLAD_DistanceFromTarget", "m"); m_GLAD_DistanceFromTarget = blocks[i]->GetDouble("GLAD_DistanceFromTarget", "m");
m_VacuumPipeX = blocks[i]->GetDouble("VacuumPipeX","m");
m_VacuumPipeY = blocks[i]->GetDouble("VacuumPipeY","m");
m_VacuumPipeZ = blocks[i]->GetDouble("VacuumPipeZ","m");
AddDetector(R,Theta,Phi); AddDetector(R,Theta,Phi);
} }
...@@ -443,6 +474,10 @@ void SofTofW::ConstructDetector(G4LogicalVolume* world){ ...@@ -443,6 +474,10 @@ void SofTofW::ConstructDetector(G4LogicalVolume* world){
world, false, 0); world, false, 0);
*/ */
} }
if(m_Build_VacuumPipe==1){
G4ThreeVector Tube_Pos = G4ThreeVector(m_VacuumPipeX,m_VacuumPipeY,m_VacuumPipeZ);
BuildVacuumPipe()->MakeImprint(world,Tube_Pos,0);
}
} }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
// Add Detector branch to the EventTree. // Add Detector branch to the EventTree.
......
...@@ -59,6 +59,7 @@ class SofTofW : public NPS::VDetector{ ...@@ -59,6 +59,7 @@ class SofTofW : public NPS::VDetector{
G4AssemblyVolume* BuildTOFDetector(); G4AssemblyVolume* BuildTOFDetector();
G4AssemblyVolume* BuildGLAD(); G4AssemblyVolume* BuildGLAD();
G4AssemblyVolume* BuildVacuumPipe();
private: private:
G4GDMLParser m_gdmlparser; G4GDMLParser m_gdmlparser;
...@@ -66,6 +67,7 @@ class SofTofW : public NPS::VDetector{ ...@@ -66,6 +67,7 @@ class SofTofW : public NPS::VDetector{
//G4LogicalVolume* m_GLAD; //G4LogicalVolume* m_GLAD;
G4AssemblyVolume* m_GLAD; G4AssemblyVolume* m_GLAD;
G4AssemblyVolume* m_TofWall; G4AssemblyVolume* m_TofWall;
G4AssemblyVolume* m_VacuumPipe;
//////////////////////////////////////////////////// ////////////////////////////////////////////////////
////// Inherite from NPS::VDetector class ///////// ////// Inherite from NPS::VDetector class /////////
...@@ -110,9 +112,13 @@ class SofTofW : public NPS::VDetector{ ...@@ -110,9 +112,13 @@ class SofTofW : public NPS::VDetector{
// GLAD // // GLAD //
int m_Build_GLAD; int m_Build_GLAD;
int m_Build_VacuumPipe;
double m_GLAD_MagField; double m_GLAD_MagField;
double m_GLAD_DistanceFromTarget; double m_GLAD_DistanceFromTarget;
double m_VacuumPipeX;
double m_VacuumPipeY;
double m_VacuumPipeZ;
// Visualisation Attribute // Visualisation Attribute
G4VisAttributes* m_VisSquare; G4VisAttributes* m_VisSquare;
G4VisAttributes* m_VisGLAD; G4VisAttributes* m_VisGLAD;
......
...@@ -174,7 +174,6 @@ void FissionDecay::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep){ ...@@ -174,7 +174,6 @@ void FissionDecay::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep){
G4ParticleDefinition* FissionFragmentDef; G4ParticleDefinition* FissionFragmentDef;
unsigned int size = FissionFragment.size(); unsigned int size = FissionFragment.size();
if(size == 0) if(size == 0)
return; return;
......
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Target Target
THICKNESS= 2 mm THICKNESS= 2 mm
RADIUS= 40 mm RADIUS= 50 mm
MATERIAL= Pb MATERIAL= Pb
ANGLE= 0 deg ANGLE= 0 deg
X= 0 mm X= 0 mm
...@@ -9,13 +9,17 @@ Target ...@@ -9,13 +9,17 @@ Target
Z= 0 m Z= 0 m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
SofTofW SofTofW
R= 8 m R= 9 m
THETA= -9 deg THETA= -9 deg
PHI= 0 deg PHI= 0 deg
Build_GLAD= 1 Build_GLAD= 1
GLAD_DistanceFromTarget= 3.3 m GLAD_DistanceFromTarget= 3. m
GLAD_MagField= 1.8 T GLAD_MagField= 1.8 T
%Build_Twin_Music= 0 Build_VacuumPipe= 1
VacuumPipeX= 0 cm
VacuumPipeY= -22.2 cm
VacuumPipeZ= 1 m
%Build_Twin_Music= 0
%Twin_Music_DistanceFromTarget= 1.5 m %Twin_Music_DistanceFromTarget= 1.5 m
%Twin_Music_Gas= P10_1atm %Twin_Music_Gas= P10_1atm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......
...@@ -133,23 +133,59 @@ void Analysis::FissionFragmentAnalysis(){ ...@@ -133,23 +133,59 @@ void Analysis::FissionFragmentAnalysis(){
PosX.push_back(SofTofW->CalPosX[i]); PosX.push_back(SofTofW->CalPosX[i]);
PosY.push_back(SofTofW->CalPosY[i]); PosY.push_back(SofTofW->CalPosY[i]);
//SofFF->SetTofPosX(SofTofW->CalPosX[i]); SofFF->SetTofPosX(SofTofW->CalPosX[i]);
//SofFF->SetTofPosY(SofTofW->CalPosY[i]); SofFF->SetTofPosY(SofTofW->CalPosY[i]);
} }
} }
vector<double> Xmwpc4; vector<double> X1;
vector<double> Ymwpc4; vector<double> X2;
vector<double> X3;
vector<double> Y1;
vector<double> Y2;
vector<double> Y3;
for(unsigned int i=0; i<SofMwpc->DetectorNbr.size(); i++){ for(unsigned int i=0; i<SofMwpc->DetectorNbr.size(); i++){
if(SofMwpc->DetectorNbr[i]==2){
SofFF->SetPosX1(SofMwpc->PositionX1[i]);
SofFF->SetPosY1(SofMwpc->PositionY[i]);
}
if(SofMwpc->DetectorNbr[i]==3){
SofFF->SetPosX2(SofMwpc->PositionX1[i]);
SofFF->SetPosY2(SofMwpc->PositionY[i]);
}
if(SofMwpc->DetectorNbr[i]==4){ if(SofMwpc->DetectorNbr[i]==4){
Xmwpc4.push_back(SofMwpc->PositionX1[i]); X3.push_back(SofMwpc->PositionX1[i]);
Ymwpc4.push_back(SofMwpc->PositionY[i]); Y3.push_back(SofMwpc->PositionY[i]);
SofFF->SetPosX3(SofMwpc->PositionX1[i]);
SofFF->SetPosY3(SofMwpc->PositionY[i]);
}
}
//SofFF->SetMwpcPosX(SofMwpc->PositionX1[i]); vector<double> good_posx;
//SofFF->SetMwpcPosY(SofMwpc->PositionY[i]); vector<double> good_posy;
for(unsigned int i=0; i<PosX.size(); i++){
double tofx = PosX[i];
double tofy = PosY[i];
for(unsigned int k=0; k<X3.size(); k++){
double posx = X3[k];
if(abs(posx-tofx) < 100){
good_posx.push_back(posx);
good_posy.push_back(tofy);
}
} }
} }
/*if(good_posx.size()==2 && good_posy.size()==2){
SofFF->SetTofPosX(good_posx[0]);
SofFF->SetTofPosX(good_posx[1]);
SofFF->SetTofPosY(good_posy[0]);
SofFF->SetTofPosY(good_posy[1]);
}*/
int mult1 = SofTwim->mult1; int mult1 = SofTwim->mult1;
int mult2 = SofTwim->mult2; int mult2 = SofTwim->mult2;
int mult3 = SofTwim->mult3; int mult3 = SofTwim->mult3;
...@@ -340,39 +376,7 @@ void Analysis::FissionFragmentAnalysis(){ ...@@ -340,39 +376,7 @@ void Analysis::FissionFragmentAnalysis(){
A1 = AoQ1 * iZ1; A1 = AoQ1 * iZ1;
A2 = AoQ2 * iZ2; A2 = AoQ2 * iZ2;
vector<double> good_posx; // *** Filling the Fission Fragment Tree *** //
vector<double> good_posy;
for(unsigned int i=0; i<PosX.size(); i++){
double tofx = PosX[i];
double tofy = PosY[i];
for(unsigned int k=0; k<Xmwpc4.size(); k++){
double posx = Xmwpc4[k];
if(abs(posx-tofx) < 100){
good_posx.push_back(posx);
//SofFF->SetMwpcPosX(posx);
//SofFF->SetTofPosX(tofx);
}
}
for(unsigned int p=0; p<Ymwpc4.size(); p++){
double posy = Ymwpc4[p];
if(abs(posy-tofy) < 20){
//good_posy.push_back(posy);
good_posy.push_back(tofy);
//SofFF->SetMwpcPosY(posy);
//SofFF->SetTofPosY(tofy);
}
}
}
if(good_posx.size()==2 && good_posy.size()==2){
SofFF->SetTofPosX(good_posx[0]);
SofFF->SetTofPosX(good_posx[1]);
SofFF->SetTofPosY(good_posy[0]);
SofFF->SetTofPosY(good_posy[1]);
}
//*** Filling the Fission Fragment Tree ***//
SofFF->SetTOF(TOF_left); SofFF->SetTOF(TOF_left);
SofFF->SetTOF(TOF_right); SofFF->SetTOF(TOF_right);
SofFF->SetBeta(Beta_Z1); SofFF->SetBeta(Beta_Z1);
...@@ -520,7 +524,7 @@ void Analysis::InitParameter(){ ...@@ -520,7 +524,7 @@ void Analysis::InitParameter(){
fDCC = -10000; fDCC = -10000;
fK_LS2 = -30e-8; fK_LS2 = -30e-8;
fRunID = 6; fRunID = 12;
// Beam parameter // // Beam parameter //
fZBeta_p0 = 1; fZBeta_p0 = 1;
......
SofSci_TOF2INV_V -8.04267 0.00737389 SofSci_TOF2INV_V -8.0515 0.00737389
SofSci_LENGTH_S2 135.614 SofSci_LENGTH_S2 135.614
SofSci_DET1_POSPAR 90.0 54.6 SofSci_DET1_POSPAR 45.0 80.0
SofSci_DET2_POSPAR 943.287 86.652 SofSci_DET2_POSPAR 943.287 86.652
SofTrim_SEC1_ALIGN 310.216 1.00792 SofTrim_SEC1_ALIGN -457.863 1.03809
SofTrim_SEC2_ALIGN 0 1 SofTrim_SEC2_ALIGN 0 1
SofTrim_SEC3_ALIGN -1382.53 1.13744 SofTrim_SEC3_ALIGN -2599.29 1.18757
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