SND@LHC Software
Loading...
Searching...
No Matches
ShipParticle.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- ShipParticle header file -----
3// -------------------------------------------------------------------------
4
5
13#ifndef ShipParticle_H
14#define ShipParticle_H 1
15
16#include "TParticle.h" // for TParticle
17#include "ShipDetectorList.h" // for DetectorId
18#include "Rtypes.h" // for Double_t, Int_t, Double32_t, etc
19#include "TLorentzVector.h" // for TLorentzVector
20#include "TMath.h" // for Sqrt
21#include "TVector3.h" // for TVector3
22#include "TMatrixDSym.h" //
23
24class TParticle;
25
26class ShipParticle : public TParticle
27{
28
29 public:
30
31
34 ShipParticle(Int_t pdg, Int_t status,
35 Int_t mother1, Int_t mother2,
36 Int_t daughter1, Int_t daughter2,
37 Double_t px, Double_t py, Double_t pz, Double_t etot,
38 Double_t vx, Double_t vy, Double_t vz, Double_t time);
39 ShipParticle(Int_t pdg, Int_t status,
40 Int_t mother1, Int_t mother2,
41 Int_t daughter1, Int_t daughter2,
42 const TLorentzVector &p,
43 const TLorentzVector &v);
45 virtual ~ShipParticle();
46
48 void Print(Int_t iTrack=0) const;
49
51 void GetMomentum(TLorentzVector& momentum);
52 Double_t GetMass();
53 void GetVertex(TVector3& vertex);
54 TMatrixDSym* GetCovP();
55 TMatrixDSym* GetCovV();
56 void SetCovP(Double_t *x);
57 void SetCovV(Double_t *x);
58 Double_t GetDoca() const { return doca; }
59 void SetDoca(Double_t x) {doca=x;}
60 private:
61 TMatrixDSym fCovP;
62 TMatrixDSym fCovV;
63 Double_t doca;
65};
66
67// ========== Inline functions ========================================
68
69
70inline TMatrixDSym* ShipParticle::GetCovP()
71{
72 return &fCovP;
73}
74
75
76inline TMatrixDSym* ShipParticle::GetCovV()
77{
78 return &fCovV;
79}
80
81
82#endif
void SetDoca(Double_t x)
virtual ~ShipParticle()
TMatrixDSym * GetCovV()
Double_t GetDoca() const
Double_t doca
void SetCovP(Double_t *x)
TMatrixDSym * GetCovP()
ClassDef(ShipParticle, 2)
TMatrixDSym fCovP
void SetCovV(Double_t *x)
void Print(Int_t iTrack=0) const
Double_t GetMass()
void GetMomentum(TLorentzVector &momentum)
TMatrixDSym fCovV
void GetVertex(TVector3 &vertex)