BmnRoot
Loading...
Searching...
No Matches
BmnHodoPoint.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// ----- BmnHodoPoint header file -----
3// ------------------------------------------------------------------------
4
5#ifndef BMNHODOPOINT_H
6#define BMNHODOPOINT_H
7
8#include "FairMCPoint.h"
9#include "Rtypes.h"
10#include "TLorentzVector.h"
11#include "TObject.h"
12#include "TParticle.h"
13#include "TVector3.h"
14#include "TVirtualMC.h"
15
16using namespace std;
17
18class BmnHodoPoint : public FairMCPoint {
19 public:
22
35 BmnHodoPoint(Int_t trackID, Int_t detID, Int_t copyNo, Int_t copyNoMother, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, UInt_t EventId=0 );
36
38 BmnHodoPoint(const BmnHodoPoint& point) { *this = point; };
39
41 virtual ~BmnHodoPoint();
42
43 Short_t GetCopy() const {return nCopy; };//sens. stick
44 Short_t GetCopyMother() const {return nCopyMother; };//stick
45 Double_t GetTime() const { return fTime; }
46 Double_t GetLengthtrack() const { return fLengthtrack; }
47
48 Double_t GetPx() const { return fPx; }
49 Double_t GetPy() const { return fPy; }
50 Double_t GetPz() const { return fPz; }
51
52 void MomentumOut(TVector3& mom) { mom.SetXYZ(fPx, fPy, fPz); }
53
54 Double_t GetX() const { return fX; }
55 Double_t GetY() const { return fY; }
56 Double_t GetZ() const { return fZ; }
57
59 void SetCopy(Short_t i) { nCopy = i; };
60 void SetCopyMother(Short_t i) { nCopyMother = i; };
61 //void SetCopyZdc(Short_t i) { nCopyZdc = i; };
62
63 void PositionOut(TVector3& pos) { pos.SetXYZ(fX, fY, fZ); }
64
65// ----------------------------------------------------------------------------
66
68 virtual void Print(const Option_t* opt) const;
69
70 void AddSTICK(Int_t trackID, Int_t detID, Int_t idsticksens, Int_t idstick, TVector3 pos,TVector3 mom,Double_t dt, Double_t dl, Double_t de) {
71 if(nCopy != idsticksens)
72 cerr << "Warning: idsticksens not equal in BmnHodoPoint::AddSTICK";
73 if(nCopyMother != idstick)
74 cerr << "Warning: idstick not equal in BmnHodoPoint::AddSTICK";
75 fTrackID=trackID; fDetectorID=detID;
76 fX=pos.X(); fY=pos.Y(); fZ=pos.Z();
77 fPx=mom.Px(); fPy=mom.Py(); fPz=mom.Pz();
78 nCopy=idsticksens; nCopyMother=idstick; fELoss += de; fLength += dl; fTime+=dt;
79 }
80
81 protected:
82 Short_t nCopy; // Copy number //sticksens
83 Short_t nCopyMother; // Copy number of mother volume //stick
84 Double_t fX, fY, fZ;
85 Double_t fPx, fPy, fPz;
86 Double_t fTime;
87 Double_t fLengthtrack;
88
89 //ClassDef(BmnHodoPoint, 0)
90 ClassDef(BmnHodoPoint, 1)
91 };
92
93#endif
int i
Definition P4_F32vec4.h:22
void MomentumOut(TVector3 &mom)
Double_t fLengthtrack
Short_t GetCopy() const
Double_t fPx
Double_t GetPz() const
void SetCopyMother(Short_t i)
Double_t GetPx() const
virtual void Print(const Option_t *opt) const
Double_t GetX() const
Double_t fX
void SetCopy(Short_t i)
Double_t fTime
void AddSTICK(Int_t trackID, Int_t detID, Int_t idsticksens, Int_t idstick, TVector3 pos, TVector3 mom, Double_t dt, Double_t dl, Double_t de)
Double_t fPz
Double_t GetZ() const
Double_t GetLengthtrack() const
Short_t GetCopyMother() const
Double_t GetY() const
Double_t GetTime() const
virtual ~BmnHodoPoint()
void PositionOut(TVector3 &pos)
Short_t nCopyMother
Double_t fY
BmnHodoPoint(const BmnHodoPoint &point)
Double_t fZ
Short_t nCopy
Double_t GetPy() const
Double_t fPy
STL namespace.