BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnScWallPoint.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// ----- BmnScWallPoint header file -----
3// ------------------------------------------------------------------------
4
5#ifndef BMNSCWALLPOINT_H
6#define BMNSCWALLPOINT_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 BmnScWallPoint : public FairMCPoint
19{
20 public:
21 /** Default constructor **/
23
24 /** Constructor with arguments
25 *@param trackID Index of MCTrack
26 *@param detID Detector ID (at present, volume MC number)
27 *@param copyNo Slice number
28 *@param copyNoMother Cell number
29 *@param pos Coordinates [cm]
30 *@param mom Momentum of track [GeV]
31 *@param tof Time since event start [ns]
32 *@param length Track length since creation [cm]
33 *@param eLoss Energy deposit [GeV]
34 **/
35
37 Int_t detID,
38 Int_t copyNo,
39 Int_t copyNoMother,
40 TVector3 pos,
41 TVector3 mom,
42 Double_t tof,
43 Double_t length,
44 Double_t eLoss,
45 UInt_t EventId = 0);
46
47 /** Copy constructor **/
48 BmnScWallPoint(const BmnScWallPoint& point) { *this = point; };
49
50 /** Destructor **/
51 virtual ~BmnScWallPoint();
52
53 Short_t GetCopy() const { return nCopy; }; // sens. slice
54 Short_t GetCopyMother() const { return nCopyMother; }; // cell
55 Double_t GetTime() const { return fTime; }
57
58 Double_t GetPx() const { return fPx; }
59 Double_t GetPy() const { return fPy; }
60 Double_t GetPz() const { return fPz; }
61
62 void MomentumOut(TVector3& mom) { mom.SetXYZ(fPx, fPy, fPz); }
63
64 Double_t GetX() const { return fX; }
65 Double_t GetY() const { return fY; }
66 Double_t GetZ() const { return fZ; }
67
68 /** Modifiers **/
69 void SetCopy(Short_t i) { nCopy = i; };
71 // void SetCopyZdc(Short_t i) { nCopyZdc = i; };
72
73 void PositionOut(TVector3& pos) { pos.SetXYZ(fX, fY, fZ); }
74
75 //---------------------------------------------------------
76
77 /** Output to screen **/
78 virtual void Print(const Option_t* opt) const;
79
80 void AddCELL(Int_t trackID,
81 Int_t detID,
82 Int_t idslice,
83 Int_t idcell,
84 TVector3 pos,
85 TVector3 mom,
86 Double_t dt,
87 Double_t dl,
89 {
90 if (nCopy != idslice)
91 cerr << "Warning: idslice not equal in BmnScWallPoint::AddCELL";
92 if (nCopyMother != idcell)
93 cerr << "Warning: idcell not equal in BmnScWallPoint::AddCELL";
94 fTrackID = trackID;
95 fDetectorID = detID;
96 fX = pos.X();
97 fY = pos.Y();
98 fZ = pos.Z();
99 fPx = mom.Px();
100 fPy = mom.Py();
101 fPz = mom.Pz();
102 nCopy = idslice;
103 nCopyMother = idcell;
104 fELoss += de;
105 fLength += dl;
106 fTime += dt;
107 }
108
109 protected:
110 Short_t nCopy; // Copy number //slice
111 Short_t nCopyMother; // Copy number of mother volume //cell
112 Double_t fX, fY, fZ;
116
117 // ClassDef(BmnScWallPoint, 0)
119};
120
121#endif
int i
Definition P4_F32vec4.h:22
int Int_t
short Short_t
double Double_t
const char Option_t
#define ClassDef(name, id)
Short_t GetCopy() const
virtual ~BmnScWallPoint()
Destructor.
BmnScWallPoint(const BmnScWallPoint &point)
Copy constructor.
void PositionOut(TVector3 &pos)
Double_t GetTime() const
virtual void Print(const Option_t *opt) const
Output to screen.
void SetCopy(Short_t i)
Modifiers.
Double_t GetY() const
Double_t GetPx() const
Double_t GetX() const
Double_t GetPz() const
Double_t GetZ() const
Double_t fLengthtrack
void AddCELL(Int_t trackID, Int_t detID, Int_t idslice, Int_t idcell, TVector3 pos, TVector3 mom, Double_t dt, Double_t dl, Double_t de)
BmnScWallPoint()
Default constructor.
void MomentumOut(TVector3 &mom)
Double_t GetLengthtrack() const
void SetCopyMother(Short_t i)
Double_t GetPy() const
Short_t GetCopyMother() const
BmnScWallPoint(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)
Constructor with arguments.
Double_t Z() const
void SetXYZ(Double_t x, Double_t y, Double_t z)
Double_t Px() const
Double_t Y() const
Double_t Py() const
Double_t X() const
Double_t Pz() const
Definition json.hpp:4446