Skip to content
Snippets Groups Projects
Commit a05cac6e authored by Adrien Matta's avatar Adrien Matta :skull_crossbones:
Browse files

* fixing cryogenic target issue

parent fa7124d5
No related branches found
No related tags found
No related merge requests found
...@@ -458,6 +458,14 @@ double NPL::ApplyUnit(double value, std::string unit){ ...@@ -458,6 +458,14 @@ double NPL::ApplyUnit(double value, std::string unit){
if(unit=="void") // apply no unit if(unit=="void") // apply no unit
return value; return value;
else if(unit=="g/cm3"){
return value*NPUNITS::g/NPUNITS::cm3;
}
else if(unit=="kg/cm3"){
return value*NPUNITS::kg/NPUNITS::cm3;
}
else if(unit=="millimeter"){ else if(unit=="millimeter"){
return value*NPUNITS::millimeter; return value*NPUNITS::millimeter;
} }
......
...@@ -185,8 +185,8 @@ void Nucleus::Extract(string line){ ...@@ -185,8 +185,8 @@ void Nucleus::Extract(string line){
fLifeTime*=1e-18; fLifeTime*=1e-18;
else if(s_lt_units=="zs") else if(s_lt_units=="zs")
fLifeTime*=1e-21; fLifeTime*=1e-21;
else if(s_lt_units=="zs") else if(s_lt_units=="ys")
fLifeTime*=1e-23; fLifeTime*=1e-24;
else if(s_lt_units=="m") else if(s_lt_units=="m")
fLifeTime*=60; fLifeTime*=60;
else if(s_lt_units=="h") else if(s_lt_units=="h")
......
...@@ -52,13 +52,13 @@ namespace NPL { ...@@ -52,13 +52,13 @@ namespace NPL {
//intrinsic properties //intrinsic properties
string fName; // Nucleus name string fName; // Nucleus name
string fNucleusName; string fNucleusName;
int fCharge; // Nucleus charge int fCharge; // Nucleus charge
int fAtomicWeight; // Nucleus atomic weight int fAtomicWeight; // Nucleus atomic weight
double fMassExcess; // Nucleus mass excess in keV double fMassExcess; // Nucleus mass excess in keV
string fSpinParity; // Nucleus spin and parity string fSpinParity; // Nucleus spin and parity
double fSpin; // Nucleus spin double fSpin; // Nucleus spin
string fParity; // Nucleus parity string fParity; // Nucleus parity
double fLifeTime; // life time double fLifeTime; // life time
//kinematic properties //kinematic properties
double fKineticEnergy; double fKineticEnergy;
...@@ -91,17 +91,17 @@ namespace NPL { ...@@ -91,17 +91,17 @@ namespace NPL {
string GetName() const {return fNucleusName;} string GetName() const {return fNucleusName;}
int GetZ() const {return fCharge;} int GetZ() const {return fCharge;}
int GetA() const {return fAtomicWeight;} int GetA() const {return fAtomicWeight;}
double GetMassExcess() const {return fMassExcess;} double GetMassExcess() const {return fMassExcess;}
string GetSpinParity() const {return fSpinParity;} string GetSpinParity() const {return fSpinParity;}
double GetSpin() const {return fSpin;} double GetSpin() const {return fSpin;}
string GetParity() const {return fParity;} string GetParity() const {return fParity;}
double GetLifeTime() const {return fLifeTime;} double GetLifeTime() const {return fLifeTime;}
double GetEnergy() const {return fKineticEnergy;} double GetEnergy() const {return fKineticEnergy;}
double GetBrho() const {return fBrho;} double GetBrho() const {return fBrho;}
double GetTimeOfFlight() const {return fTimeOfFlight;} double GetTimeOfFlight() const {return fTimeOfFlight;}
double GetBeta() const {return fBeta;} double GetBeta() const {return fBeta;}
double GetGamma() const {return fGamma;} double GetGamma() const {return fGamma;}
double GetVelocity() const {return fVelocity;} double GetVelocity() const {return fVelocity;}
TLorentzVector GetEnergyImpulsion() const {return fEnergyImpulsion;} TLorentzVector GetEnergyImpulsion() const {return fEnergyImpulsion;}
void SetName(const char* name) {fName = name;} void SetName(const char* name) {fName = name;}
void SetZ(int charge) {fCharge = charge;} void SetZ(int charge) {fCharge = charge;}
......
...@@ -112,14 +112,17 @@ void Target::ReadConfiguration(NPL::InputParser parser){ ...@@ -112,14 +112,17 @@ void Target::ReadConfiguration(NPL::InputParser parser){
} }
else if(ctarget.size()==1){ else if(ctarget.size()==1){
cout << " Solid Target found " << endl; m_TargetType=false;
cout << " Cryo Target found " << endl;
vector<string> token = {"Thickness","Radius","Material","Density","WindowsThickness","WindowsMaterial","Angle","X","Y","Z"}; vector<string> token = {"Thickness","Radius","Material","Density","WindowsThickness","WindowsMaterial","Angle","X","Y","Z"};
if(ctarget[0]->HasTokenList(token)){ if(ctarget[0]->HasTokenList(token)){
m_TargetThickness= ctarget[0]->GetDouble("Thickness","micrometer"); m_TargetThickness= ctarget[0]->GetDouble("Thickness","micrometer");
m_TargetAngle=ctarget[0]->GetDouble("Angle","deg"); m_TargetAngle=ctarget[0]->GetDouble("Angle","deg");
m_TargetMaterial= GetMaterialFromLibrary(ctarget[0]->GetString("Material")); m_TargetMaterial= MaterialManager::getInstance()->GetMaterialFromLibrary(ctarget[0]->GetString("Material"),ctarget[0]->GetDouble("Density","g/cm3"));
m_WindowsThickness= ctarget[0]->GetDouble("WindowsThickness","micrometer"); m_WindowsThickness= ctarget[0]->GetDouble("WindowsThickness","micrometer");
m_WindowsMaterial= GetMaterialFromLibrary(ctarget[0]->GetString("WindowsMaterial")); m_WindowsMaterial= GetMaterialFromLibrary(ctarget[0]->GetString("WindowsMaterial"));
m_TargetRadius=ctarget[0]->GetDouble("Radius","mm");
m_TargetX=ctarget[0]->GetDouble("X","mm"); m_TargetX=ctarget[0]->GetDouble("X","mm");
m_TargetY=ctarget[0]->GetDouble("Y","mm"); m_TargetY=ctarget[0]->GetDouble("Y","mm");
m_TargetZ =ctarget[0]->GetDouble("Z","mm"); m_TargetZ =ctarget[0]->GetDouble("Z","mm");
......
%%%%%%%%%%Detector%%%%%%%%%%%%%%%%%%% %%%%%%%%%%Detector%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1
CryoTarget CryoTarget
THICKNESS= 1000 THICKNESS= 1 mm
RADIUS= 7.5 RADIUS= 7.5 mm
MATERIAL= D2 MATERIAL= D2
DENSITY= 0.16383 DENSITY= 0.16383 g/cm3
WINDOWSTHICKNESS= 1 WINDOWSTHICKNESS= 1 micrometer
WINDOWSMATERIAL= Mylar WINDOWSMATERIAL= Mylar
ANGLE= 0 ANGLE= 0 deg
X= 0 X= 0 mm
Y= 0 Y= 0 mm
Z= 0 Z= 0 mm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
GaspardTracker GaspardTracker
GPDChamber= MUGAST GPDChamber= MUGAST
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 Annular Back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 Annular Back
GPDAnnular GPDAnnular
Z= -134.15 Z= -134.15
RMIN= 16 RMIN= 16
RMAX= 45 RMAX= 45
FIRSTSTAGE= 1 FIRSTSTAGE= 1
SECONDSTAGE= 1 SECONDSTAGE= 1
THIRDSTAGE= 1 THIRDSTAGE= 1
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 End-Cap Back %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 End-Cap Back
GPDTrapezoid GPDTrapezoid
X128_Y128= 41.963 21.364 -99.28 X128_Y128= 41.963 21.364 -99.28
X1_Y128= 23.737 39.592 -99.282 X1_Y128= 23.737 39.592 -99.282
X128_Y1= 122.368 54.712 -31.789 X128_Y1= 122.368 54.712 -31.789
X1_Y1= 57.084 119.996 -31.789 X1_Y1= 57.084 119.996 -31.789
FIRSTSTAGE= 1 FIRSTSTAGE= 1
SECONDSTAGE= 0 SECONDSTAGE= 0
THIRDSTAGE= 0 THIRDSTAGE= 0
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2
GPDTrapezoid GPDTrapezoid
X128_Y128= -41.963 -21.364 -99.28 X128_Y128= -41.963 -21.364 -99.28
X1_Y128= -23.737 -39.592 -99.282 X1_Y128= -23.737 -39.592 -99.282
X128_Y1= -122.368 -54.712 -31.789 X128_Y1= -122.368 -54.712 -31.789
X1_Y1= -57.084 -119.996 -31.789 X1_Y1= -57.084 -119.996 -31.789
FIRSTSTAGE= 1 FIRSTSTAGE= 1
SECONDSTAGE= 0 SECONDSTAGE= 0
THIRDSTAGE= 0 THIRDSTAGE= 0
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3
GPDTrapezoid GPDTrapezoid
X128_Y128= -21.364 41.963 -99.28 X128_Y128= -21.364 41.963 -99.28
X1_Y128= -39.592 23.737 -99.282 X1_Y128= -39.592 23.737 -99.282
X128_Y1= -54.712 122.368 -31.789 X128_Y1= -54.712 122.368 -31.789
X1_Y1= -119.996 57.084 -31.789 X1_Y1= -119.996 57.084 -31.789
FIRSTSTAGE= 1 FIRSTSTAGE= 1
SECONDSTAGE= 0 SECONDSTAGE= 0
THIRDSTAGE= 0 THIRDSTAGE= 0
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4
GPDTrapezoid GPDTrapezoid
X128_Y128= 21.364 -41.963 -99.28 X128_Y128= 21.364 -41.963 -99.28
X1_Y128= 39.592 -23.737 -98.282 X1_Y128= 39.592 -23.737 -98.282
X128_Y1= 54.712 -122.368 -31.789 X128_Y1= 54.712 -122.368 -31.789
X1_Y1= 119.996 -57.084 -31.789 X1_Y1= 119.996 -57.084 -31.789
FIRSTSTAGE= 1 FIRSTSTAGE= 1
SECONDSTAGE= 0 SECONDSTAGE= 0
THIRDSTAGE= 0 THIRDSTAGE= 0
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 Barrel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1 Barrel
GPDRectangle GPDRectangle
X1_Y1= -132.251 58.314 88.72 X1_Y1= -132.251 58.314 88.72
X128_Y1= -61.823 128.742 88.72 X128_Y1= -61.823 128.742 88.72
X1_Y128= -132.251 58.314 -3.13 X1_Y128= -132.251 58.314 -3.13
X128_Y128= -61.823 128.742 -3.13 X128_Y128= -61.823 128.742 -3.13
FIRSTSTAGE= 1 FIRSTSTAGE= 1
SECONDSTAGE= 1 SECONDSTAGE= 1
THIRDSTAGE= 0 THIRDSTAGE= 0
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2
GPDRectangle GPDRectangle
X1_Y1= -135.00 -51.01 88.72 X1_Y1= -135.00 -51.01 88.72
X128_Y1= -135.00 43.99 88.72 X128_Y1= -135.00 43.99 88.72
X1_Y128= -135.00 -51.01 -3.13 X1_Y128= -135.00 -51.01 -3.13
X128_Y128= -135.00 43.99 -3.13 X128_Y128= -135.00 43.99 -3.13
FIRSTSTAGE= 1 FIRSTSTAGE= 1
SECONDSTAGE= 1 SECONDSTAGE= 1
THIRDSTAGE= 0 THIRDSTAGE= 0
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%
MUST2Array
%%%%%%% Telescope 1 %%%%%%% %%%%%%% Telescope 1 %%%%%%%
M2Telescope M2Telescope
X1_Y1= 13.00 102.79 161.98 X1_Y1= 13.00 102.79 161.98
X1_Y128= 24.88 10.58 191.20 X1_Y128= 24.88 10.58 191.20
X128_Y1= 103.08 102.90 126.06 X128_Y1= 103.08 102.90 126.06
X128_Y128= 115.23 10.76 155.14 X128_Y128= 115.23 10.76 155.14
SI= 1.00 SI= 1.00
SILI= 0.00 SILI= 0.00
CSI= 1.00 CSI= 1.00
VIS= all VIS= all
%%%%%%% Telescope 2 %%%%%%% %%%%%%% Telescope 2 %%%%%%%
M2Telescope M2Telescope
X1_Y1= -114.05 10.98 154.48 X1_Y1= -114.05 10.98 154.48
X1_Y128= -23.81 10.92 190.84 X1_Y128= -23.81 10.92 190.84
X128_Y1= -102.23 102.22 125.39 X128_Y1= -102.23 102.22 125.39
X128_Y128= -11.95 102.90 161.48 X128_Y128= -11.95 102.90 161.48
SI= 1.00 SI= 1.00
SILI= 0.00 SILI= 0.00
CSI= 1.00 CSI= 1.00
VIS= all VIS= all
%%%%%%% Telescope 3 %%%%%%% %%%%%%% Telescope 3 %%%%%%%
M2Telescope M2Telescope
X1_Y1= -11.91 -103.68 162.50 X1_Y1= -11.91 -103.68 162.50
X1_Y128= -24.30 -10.94 191.00 X1_Y128= -24.30 -10.94 191.00
X128_Y1= -102.03 -103.39 126.36 X128_Y1= -102.03 -103.39 126.36
X128_Y128= -114.58 -10.71 154.76 X128_Y128= -114.58 -10.71 154.76
SI= 1.00 SI= 1.00
SILI= 0.00 SILI= 0.00
CSI= 1.00 CSI= 1.00
VIS= all VIS= all
%%%%%%% Telescope 4 %%%%%%% %%%%%%% Telescope 4 %%%%%%%
M2Telescope M2Telescope
X1_Y1= 115.12 -11.35 154.94 X1_Y1= 115.12 -11.35 154.94
X1_Y128= 24.33 -11.60 190.81 X1_Y128= 24.33 -11.60 190.81
X128_Y1= 103.64 -103.42 126.51 X128_Y1= 103.64 -103.42 126.51
X128_Y128= 12.89 -103.90 162.29 X128_Y128= 12.89 -103.90 162.29
SI= 1.00 SI= 1.00
SILI= 0.00 SILI= 0.00
CSI= 1.00 CSI= 1.00
VIS= all VIS= all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
AGATA %AGATA
THETA= 157.5 THETA= 157.5
PHI= 45 PHI= 45
R= 270 R= 270
Shape= Square Shape= Square
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
AGATA %AGATA
THETA= 157.5 THETA= 157.5
PHI= 117 PHI= 117
R= 270 R= 270
Shape= Square Shape= Square
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
AGATA %AGATA
THETA= 157.5 THETA= 157.5
PHI= 189 PHI= 189
R= 270 R= 270
Shape= Square Shape= Square
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
AGATA %AGATA
THETA= 157.5 THETA= 157.5
PHI= 261 PHI= 261
R= 270 R= 270
Shape= Square Shape= Square
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
AGATA %AGATA
THETA= 157.5 THETA= 157.5
PHI= 333 PHI= 333
R= 270 R= 270
Shape= Square Shape= Square
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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