PandaRoot
PndDskParticle.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 // -------------------------------------------------------------------------
14 // ----- PndDskParticle header file -----
15 // ----- Created 21/03/08 by P. Koch -----
16 // -------------------------------------------------------------------------
17 
18 #ifndef PNDDSKPARTICLE_H
19 #define PNDDSKPARTICLE_H
20 
21 #include "PndMCPoint.h"
22 
23 class PndDskParticle : public PndMCPoint {
24 
25  public:
28 
42  PndDskParticle(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Int_t pdgCode, TString pdgName, Double_t energy, Int_t motherTrackID,
43  Int_t motherPdgCode, TString motherPdgName, Double_t mass, Double_t angIn, Double_t thetaC, Int_t nPhot);
44 
46  PndDskParticle(const PndDskParticle &particle);
47 
49  virtual ~PndDskParticle();
50 
55  virtual void Print(const Option_t *opt) const;
56 
65  void SetFinalValues(TVector3 exitPosition, TVector3 exitMomentum, Double_t exitTime, Double_t exitEnergy);
66 
68  Int_t GetPdgCode() const { return fPdgCode; }
69  TString GetPdgName() const { return fPdgName; }
70  Double_t GetEnergy() const { return fEnergy; }
71  Int_t GetMotherTrackID() const { return fMotherTrackID; }
72  Int_t GetMotherPdgCode() const { return fMotherPdgCode; }
73  TString GetMotherPdgName() const { return fMotherPdgName; }
74  Double_t GetExitTime() const { return fExitTime; }
75  Double_t GetExitEnergy() const { return fExitEnergy; }
76  Double_t GetMass() const { return fMass; };
77 
78  Double_t GetAngIn() const { return fAngIn; };
79  Double_t GetThetaC() const { return fThetaC; };
80  Int_t GetNPhot() const { return fNPhot; };
81 
83  void SetAngIn(Double_t ang) { fAngIn = ang; };
84  void SetThetaC(Double_t theta) { fThetaC = theta; };
85  void SetNPhot(Int_t nPhot) { fNPhot = nPhot; };
86 
87  protected:
88  Int_t fPdgCode = -1;
89  TString fPdgName;
90  Double_t fEnergy = 0.;
91  Double_t fMass = 0.; // Mass
92 
93  Int_t fMotherTrackID = -1;
94  Int_t fMotherPdgCode = -1;
95  TString fMotherPdgName;
96 
97  Double_t fExitTime = 0.;
98  Double_t fExitEnergy = 0.;
99 
100  Double_t fThetaC = 0.; // Cherenkov Angle
101  Double_t fAngIn = 0.; // Rod number
102  Int_t fNPhot = -1; // number of produced photons
103 
105 };
106 
107 #endif // PNDDSKPARTICLE_H
Double_t GetAngIn() const
Double_t GetMass() const
Double_t GetEnergy() const
Int_t GetMotherTrackID() const
Double_t GetExitTime() const
virtual void Print(const Option_t *opt) const
Int_t GetPdgCode() const
Double_t GetThetaC() const
Int_t GetNPhot() const
TString fPdgName
PDG name according to fPdgCode.
void SetThetaC(Double_t theta)
TString GetPdgName() const
void SetAngIn(Double_t ang)
ClassDef(PndMCPoint, 1)
TString fMotherPdgName
PDG name according to fMotherPdgCode.
void SetFinalValues(TVector3 exitPosition, TVector3 exitMomentum, Double_t exitTime, Double_t exitEnergy)
Int_t GetMotherPdgCode() const
Int_t fMotherTrackID
Track ID of the first mother.
virtual ~PndDskParticle()
TString GetMotherPdgName() const
Double_t fExitEnergy
Energy when particle disappears [GeV].
Double_t GetExitEnergy() const
Double_t fExitTime
Time when particle disappears [ns].
Double_t fEnergy
Energy [GeV].
void SetNPhot(Int_t nPhot)
Int_t fPdgCode
PDG code of particle.
Int_t fMotherPdgCode
PDG code of the particle with fMotherTrackID.