EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
ParticleIdentifier.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file ParticleIdentifier.h
1
10
#ifndef INCLUDE_EICSMEAR_ERHIC_PARTICLEIDENTIFIER_H_
11
#define INCLUDE_EICSMEAR_ERHIC_PARTICLEIDENTIFIER_H_
12
13
#include <cmath>
14
#include <limits>
15
#include <vector>
16
17
#include "
eicsmear/erhic/BeamParticles.h
"
18
#include "
eicsmear/erhic/Particle.h
"
19
#include "
eicsmear/erhic/VirtualEvent.h
"
20
25
class
ParticleIdentifier
{
26
public
:
32
ParticleIdentifier
(
const
int
leptonPdg = ~
unsigned
(0)/2);
33
34
virtual
~ParticleIdentifier
() { }
35
39
virtual
bool
isBeamLepton
(
const
erhic::VirtualParticle
&)
const
;
40
44
virtual
bool
isBeamNucleon
(
const
erhic::VirtualParticle
&)
const
;
45
49
virtual
bool
isScatteredLepton
(
const
erhic::VirtualParticle
&)
const
;
50
54
virtual
bool
IsVirtualPhoton
(
const
erhic::VirtualParticle
&)
const
;
55
59
virtual
bool
SkipParticle
(
const
erhic::VirtualParticle
&)
const
;
60
64
virtual
void
SetLeptonBeamPdgCode
(
int
pdg
);
65
69
virtual
int
GetLeptonBeamPdgCode
()
const
;
70
78
virtual
bool
SetChargedCurrent
(
bool
isChargedCurrent);
79
87
static
bool
IdentifyBeams
(
const
erhic::VirtualEvent
&,
BeamParticles
&);
88
99
static
bool
IdentifyBeams
(
const
erhic::VirtualEvent
&,
100
std::vector<const erhic::VirtualParticle*>&);
101
102
protected
:
114
Int_t
DetermineScatteredType
(Int_t);
115
116
Bool_t
mChargedCurrent
;
117
Int_t
mLeptonBeamPdgCode
;
118
Int_t
mScatteredPdgCode
;
119
};
120
121
inline
int
ParticleIdentifier::GetLeptonBeamPdgCode
()
const
{
122
return
mLeptonBeamPdgCode
;
123
}
124
125
#endif // INCLUDE_EICSMEAR_ERHIC_PARTICLEIDENTIFIER_H_
eic-smear
blob
master
include
eicsmear
erhic
ParticleIdentifier.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:32
using
1.8.2 with
EIC GitHub integration