-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathNeutron.cxx
More file actions
86 lines (57 loc) · 1.48 KB
/
Neutron.cxx
File metadata and controls
86 lines (57 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <TMath.h>
#include <Riostream.h>
#include "TObject.h"
#include "Punto.h"
#include "Retta.h"
#include "Neutron.h"
ClassImp(Neutron)
/*Neutron::Neutron():TObject(), //controllare, la direzine di partenza ha theta e phi uguali a zero!
fp(0,0,0),
fr(fp,0,0),
En(0.),
Absorption(kFALSE){
}
Neutron::Neutron(const Neutron&n):TObject(),
fp(n.fp),
fr(n.fr),
Absorption(n.Absorption),
En(n.En){
}*/
Neutron::Neutron(const Neutron *n):TObject(),
fp(n->fp),
fr(n->fr),
En(n->En),
Absorption(n->Absorption){}
/*Neutron::Neutron(Punto *p,Retta *r,double Energy):TObject(),
fp(p),
fr(r),
En(Energy),
Absorption(kFALSE){
}*/
Neutron::Neutron():TObject(),
fp(Punto(-999,-999,-999)),
fr(Retta(Punto(-999,-999,-999),999,999)),
En(-1),
Absorption(kFALSE){
}
Neutron::~Neutron(){
// distruttore
}
//---------------------------------------------------------------------------------------
void Neutron::Reset(){
this->fp=Punto(-999,-999,-999);
this->fr=Retta(Punto(-999,-999,-999),999,999);
this->En=-1;
this->Absorption=kFALSE;
}
void Neutron::SetNuovoPunto(double x_int){
double xx=this->GetX()+(x_int*TMath::Sin(this->GetTheta())*TMath::Cos(this->GetPhi()));
double yy=this->GetY()+(x_int*TMath::Sin(this->GetTheta())*TMath::Sin(this->GetPhi()));
double zz=this->GetZ()+(x_int*TMath::Cos(this->GetTheta()));
/*cout<<xx<<endl;
cout<<yy<<endl;
cout<<" "<<endl;*/
this->fp.SetX(xx);
this->fp.SetY(yy);
this->fp.SetZ(zz);
}