DUNE StandardRecord
Base object for DUNE analysis files (CAFs)
SRLorentzVector.h
1 
9 #ifndef DUNEANAOBJ_SRLORENTZVECTOR_H
10 #define DUNEANAOBJ_SRLORENTZVECTOR_H
11 
12 #if !defined(__GCCXML__) && !defined(__castxml__)
13 
14 #include <cmath>
15 #include <limits>
16 
17 #include "TMath.h"
18 #include "TLorentzVector.h"
19 #include "TVector3.h"
20 
21 #endif
22 
23 
24 
25 namespace caf
26 {
28  {
29  public:
31  virtual ~SRLorentzVector() = default;
32 
33 #if !defined(__GCCXML__) && !defined(__castxml__)
34 
35  SRLorentzVector(const TLorentzVector& v);
36 
38  operator TLorentzVector() const;
39 
40  SRLorentzVector & operator=(const TLorentzVector& vec);
41 
42  // For access as a position vector. For momentum use the member variables
43  // directly.
44  float T() const {return E;}
45  float X() const {return px;}
46  float Y() const {return py;}
47  float Z() const {return pz;}
48  float Mag() const {return sqrt(px*px + py*py + pz*pz);}
49  float Beta() const {return Mag()/E;}
50  float Gamma() const {return 1.0/sqrt(1-Beta()*Beta());}
51 
52  TVector3 Vect() const {return TVector3(px, py, pz);}
53 #endif
54 
55  float E;
56  float px;
57  float py;
58  float pz;
59  };
60 
61 }
62 #endif //DUNEANAOBJ_SRLORENTZVECTOR_H
Definition: SRLorentzVector.h:28
Common Analysis Files.
Definition: SRBeamBranch.h:13