PandaRoot
PndDiscParticleMCPoint.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------------
2 // Author: Oliver Merle (Oliver.Merle@exp2.physik.uni-giessen.de)
3 // Changes: Mustafa Schmidt (Mustafa.A.Schmidt@physik.uni-giessen.de)
4 // Date: 30.11.2015
5 // Description: Information of charged particle tracks
6 //-------------------------------------------------------------------------
7 
8 #ifndef PNDDISCPARTICLEMCPOINT_HH
9 #define PNDDISCPARTICLEMCPOINT_HH
10 
11 #include "PndMCPoint.h"
12 
14  public:
16  // trackID, detID, posin, momin, tof, length, eLoss
17  PndDiscParticleMCPoint(Int_t track_id, // base
18  // Int_t event_id, // in FairMCEventHeader
19  Int_t det_id, // base
20  Int_t volume_id, // -- use some kind of volume identifier here (radiator, lightguide etc) (PndGeoHandling short id??)
21  TVector3 pos_in, // base
22  TVector3 mom_in, // base
23  TVector3 pos_out, // base
24  TVector3 mom_out, // base
25  Double_t total_tof, // base
26  Double_t total_length, // base
27  Double_t energy_loss, Double_t charge, Double_t mass, Int_t pdgcode,
28  Bool_t pos_in_inside, // whether the particle was entering the volume at pos_in
29  Bool_t is_primary);
30 
31  virtual ~PndDiscParticleMCPoint();
32 
33  virtual void Print(const Option_t *opt = nullptr) const;
34 
35  void SetVolumeID(Int_t val) { fVolume_id = val; }
36  void SetCharge(Double_t val) { fCharge = val; }
37  void SetMass(Double_t val) { fMass = val; }
38  void SetPdgCode(Int_t val) { fPdgCode = val; }
39  void SetPosInInside(Bool_t val) { fPos_in_inside = val; }
40  void SetIsPrimary(Bool_t val) { fIs_primary = val; }
41  void SetMyEnergyLoss(Double_t val) { fMy_energy_loss = val; }
42 
43  Int_t GetVolumeID() const { return fVolume_id; }
44  Double_t GetCharge() const { return fCharge; }
45  Double_t GetMass() const { return fMass; }
46  Int_t GetPdgCode() const { return fPdgCode; }
47  Bool_t GetPosInInside() const { return fPos_in_inside; }
48  Bool_t GetIsPrimary() const { return fIs_primary; }
49  Double_t GetMyEnergyLoss() const { return fMy_energy_loss; }
50 
51  protected:
52  Int_t fVolume_id = 0;
53  Double_t fCharge = 0.; // todo: this doubles the information of the particel and the MC track. Should be removed
54  Double_t fMass = 0.;
55  Int_t fPdgCode = 0;
56  Bool_t fPos_in_inside = false;
57  Bool_t fIs_primary = false;
58 
59  Double_t fMy_energy_loss = 0.;
60 
62 };
63 
64 #endif // PNDDISCPARTICLEMCPOINT_HH
void SetMyEnergyLoss(Double_t val)
void SetCharge(Double_t val)
Double_t GetMyEnergyLoss() const
void SetVolumeID(Int_t val)
FairMCPoint forces the implementation.
ClassDef(PndMCPoint, 1)
virtual void Print(const Option_t *opt=nullptr) const
virtual ~PndDiscParticleMCPoint()