ATLAS Offline Software
Loading...
Searching...
No Matches
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
10class MarsParticle;
11class FlukaParticle;
12namespace HepPDT {
13 class ParticleDataTable;
14}
15
23 public:
24
26
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
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
long m_pdgId
The PDG Id of the particle.
long pdgId() const
A function to return the PDG id of this particle.
HepMC::FourVector m_positionAtScoringPlane
Position of the particle at the scoring plane (x,y,z,t).
void print()
A function to print the contents of this particle.
BeamHaloParticle & operator=(const BeamHaloParticle &rhs)=default
Assignment operator.
double m_weight
The resultant particle weight after normalisation and rescaling.
HepMC::FourVector fourVector() const
A function to return the momentum fourvector of this particle.
int fill(const HepPDT::ParticleDataTable *particleDataTable, MarsParticle *marsParticle)
A function to fill the data members from an input MarsParticle object.
HepMC::FourVector m_positionAtPrimary
Position of the particle at the primary interaction point (x,y,z,y).
BeamHaloParticle(const BeamHaloParticle &beamHaloParticle)=default
HepMC::FourVector m_fourVector
A four vector describing this particle at the scoring plane.
double weight() const
A function to return the weight of this particle within the input beam background simulation file.
HepMC::FourVector positionAtScoringPlane() const
A function to return the position fourvector of this particle with respect to the scoring plane.
HepMC::FourVector positionAtPrimary() const
A function to return the position fourvector of this particle with respect to the primary interaction...
A class to describe a FLUKA particle read from an input ASCII file.
A class to describe a MARS particle read from an input ASCII file.