EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtXPsiGamma.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 EVTXPSIGAMMA_HH
22#define EVTXPSIGAMMA_HH
23
25#include "EvtGenBase/EvtId.hh"
26
27#include <fstream>
28#include <stdio.h>
29
30class EvtComplex;
31class EvtParticle;
32class EvtTensor4C;
33class EvtVector4C;
34class EvtVector4R;
35
36// Description:Implementation of the X3872(2-+) -> J/psi gamma decay
37// Description: Routine to implement radiative decay X3872(2-+) -> J/psi gamma
38// according to F. Brazzi et al, arXiv:1103.3155
39
40class EvtXPsiGamma : public EvtDecayAmp {
41 public:
42 std::string getName() const override;
43 EvtDecayBase* clone() const override;
44
45 void init() override;
46 void initProbMax() override;
47 void decay( EvtParticle* p ) override;
48
49 protected:
50 // This function is not declared const because epsParentPhoton is not const
51 void calcAmp( EvtParticle& parent, EvtAmp& amp );
52
53 private:
54 double calcPstar( double m_parent, double m_1, double m_2 ) const;
55
57 EvtVector4C epsEps, EvtVector4C epsEta ) const;
59 EvtVector4C epsEps, EvtVector4C epsEta ) const;
60
62
63 double m_gOmega;
64 double m_gPOmega;
65 double m_gRho;
66 double m_gPRho;
67 double m_fOmega;
68 double m_fRho;
69};
70
71#endif
EvtDecayBase()=default
Definition EvtId.hh:27
EvtComplex fT3(EvtVector4R p, EvtVector4R q, EvtTensor4C epsPI, EvtVector4C epsEps, EvtVector4C epsEta) const
EvtComplex fT2(EvtVector4R p, EvtVector4R q, EvtTensor4C epsPI, EvtVector4C epsEps, EvtVector4C epsEta) const
void calcAmp(EvtParticle &parent, EvtAmp &amp)
double calcPstar(double m_parent, double m_1, double m_2) const
void init() override
void initProbMax() override
void decay(EvtParticle *p) override
std::string getName() const override
EvtDecayBase * clone() const override