ATLAS Offline Software
BeamHaloParticle.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BEAMHALOPARTICLE_H
6 #define BEAMHALOPARTICLE_H
7 
9 
10 class MarsParticle;
11 class FlukaParticle;
12 namespace HepPDT {
13  class ParticleDataTable;
14 }
15 
23  public:
24 
26 
27  BeamHaloParticle(long pdgId,
28  HepMC::FourVector fourVector,
29  HepMC::FourVector positionAtScoringPlane,
30  double weight);
31 
33  HepMC::FourVector fourVector,
34  HepMC::FourVector positionAtScoringPlane,
35  double weight,
36  HepMC::FourVector positionAtPrimary);
37 
38 
39  BeamHaloParticle(const BeamHaloParticle& beamHaloParticle) = default;
40 
42  BeamHaloParticle & operator=(const BeamHaloParticle &rhs) = default;
43 
46  int fill(const HepPDT::ParticleDataTable *particleDataTable,
47  MarsParticle *marsParticle);
48 
51  int fill(const HepPDT::ParticleDataTable *particleDataTable,
52  FlukaParticle *flukaParticle);
53 
55  void print();
56 
58  long pdgId() const { return m_pdgId; }
59 
62  HepMC::FourVector fourVector() const { return m_fourVector; }
63 
66  HepMC::FourVector positionAtScoringPlane() const { return m_positionAtScoringPlane; }
67 
70  double weight() const { return m_weight; }
71 
74  HepMC::FourVector positionAtPrimary() const { return m_positionAtPrimary; }
75 
76  private:
77 
79  long m_pdgId;
80 
82  HepMC::FourVector m_fourVector;
83 
85  HepMC::FourVector m_positionAtScoringPlane;
86 
88  double m_weight;
89 
91  HepMC::FourVector m_positionAtPrimary;
92 };
93 
94 #endif
BeamHaloParticle::m_fourVector
HepMC::FourVector m_fourVector
A four vector describing this particle at the scoring plane.
Definition: BeamHaloParticle.h:82
BeamHaloParticle
A class to describe a generic beam halo particle.
Definition: BeamHaloParticle.h:22
MarsParticle
A class to describe a MARS particle read from an input ASCII file.
Definition: MarsParticle.h:55
BeamHaloParticle::m_positionAtScoringPlane
HepMC::FourVector m_positionAtScoringPlane
Position of the particle at the scoring plane (x,y,z,t).
Definition: BeamHaloParticle.h:85
BeamHaloParticle::operator=
BeamHaloParticle & operator=(const BeamHaloParticle &rhs)=default
Assignment operator.
BeamHaloParticle::m_pdgId
long m_pdgId
The PDG Id of the particle.
Definition: BeamHaloParticle.h:79
BeamHaloParticle::positionAtPrimary
HepMC::FourVector positionAtPrimary() const
A function to return the position fourvector of this particle with respect to the primary interaction...
Definition: BeamHaloParticle.h:74
BeamHaloParticle::print
void print()
A function to print the contents of this particle.
Definition: BeamHaloParticle.cxx:195
BeamHaloParticle::fill
int fill(const HepPDT::ParticleDataTable *particleDataTable, MarsParticle *marsParticle)
A function to fill the data members from an input MarsParticle object.
Definition: BeamHaloParticle.cxx:52
SimpleVector.h
BeamHaloParticle::pdgId
long pdgId() const
A function to return the PDG id of this particle.
Definition: BeamHaloParticle.h:58
HepPDT
Definition: BeamHaloGenerator.h:13
BeamHaloParticle::m_positionAtPrimary
HepMC::FourVector m_positionAtPrimary
Position of the particle at the primary interaction point (x,y,z,y).
Definition: BeamHaloParticle.h:91
BeamHaloParticle::fourVector
HepMC::FourVector fourVector() const
A function to return the momentum fourvector of this particle.
Definition: BeamHaloParticle.h:62
BeamHaloParticle::BeamHaloParticle
BeamHaloParticle(const BeamHaloParticle &beamHaloParticle)=default
FlukaParticle
A class to describe a FLUKA particle read from an input ASCII file.
Definition: FlukaParticle.h:19
BeamHaloParticle::weight
double weight() const
A function to return the weight of this particle within the input beam background simulation file.
Definition: BeamHaloParticle.h:70
BeamHaloParticle::positionAtScoringPlane
HepMC::FourVector positionAtScoringPlane() const
A function to return the position fourvector of this particle with respect to the scoring plane.
Definition: BeamHaloParticle.h:66
BeamHaloParticle::m_weight
double m_weight
The resultant particle weight after normalisation and rescaling.
Definition: BeamHaloParticle.h:88
BeamHaloParticle::BeamHaloParticle
BeamHaloParticle()
Definition: BeamHaloParticle.cxx:14