EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
EvtGenBase
EvtPhotonParticle.hh
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4
* *
5
* This file is part of EvtGen. *
6
* *
7
* EvtGen is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 3 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* EvtGen is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19
***********************************************************************/
20
21
#ifndef EVTPHOTONPARTICLE_HH
22
#define EVTPHOTONPARTICLE_HH
23
24
#include "
EvtGenBase/EvtParticle.hh
"
25
#include "
EvtGenBase/EvtVector4C.hh
"
26
class
EvtId
;
27
28
//Class to handle massless spin 1 particles.
29
30
class
EvtPhotonParticle
:
public
EvtParticle
{
31
public
:
32
EvtPhotonParticle
() =
default
;
33
34
void
init
(
EvtId
part_n,
double
e,
double
px,
double
py,
double
pz );
35
void
init
(
EvtId
part_n,
const
EvtVector4R
& p4 )
override
;
36
37
//Return polarization vectors
38
EvtVector4C
epsParentPhoton
(
int
i )
const override
;
39
EvtVector4C
epsPhoton
(
int
i )
const override
;
40
41
EvtSpinDensity
rotateToHelicityBasis
()
const override
;
42
EvtSpinDensity
rotateToHelicityBasis
(
double
alpha,
double
beta,
43
double
gamma )
const override
;
44
45
private
:
46
EvtPhotonParticle
(
const
EvtPhotonParticle
& photon );
47
EvtPhotonParticle
&
operator=
(
const
EvtPhotonParticle
& photon );
48
};
49
50
#endif
EvtParticle.hh
EvtVector4C.hh
EvtId
Definition
EvtId.hh:27
EvtParticle::EvtParticle
EvtParticle()
Definition
EvtParticle.cpp:59
EvtPhotonParticle::EvtPhotonParticle
EvtPhotonParticle()=default
EvtPhotonParticle::epsPhoton
EvtVector4C epsPhoton(int i) const override
Definition
EvtPhotonParticle.cpp:85
EvtPhotonParticle::EvtPhotonParticle
EvtPhotonParticle(const EvtPhotonParticle &photon)
EvtPhotonParticle::rotateToHelicityBasis
EvtSpinDensity rotateToHelicityBasis() const override
Definition
EvtPhotonParticle.cpp:95
EvtPhotonParticle::operator=
EvtPhotonParticle & operator=(const EvtPhotonParticle &photon)
EvtPhotonParticle::init
void init(EvtId part_n, double e, double px, double py, double pz)
Definition
EvtPhotonParticle.cpp:37
EvtPhotonParticle::epsParentPhoton
EvtVector4C epsParentPhoton(int i) const override
Definition
EvtPhotonParticle.cpp:48
EvtSpinDensity
Definition
EvtSpinDensity.hh:28
EvtVector4C
Definition
EvtVector4C.hh:30
EvtVector4R
Definition
EvtVector4R.hh:29
Generated by
1.17.0