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
EvtPartProp.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 EVTPARTPROP_HH
22#define EVTPARTPROP_HH
23
25#include "EvtGenBase/EvtId.hh"
27
28#include <memory>
29#include <string>
30
32 public:
34 EvtPartProp( const EvtPartProp& x );
35
36 double getMass() { return m_lineShape->getMass(); }
37 double getMassMin() { return m_lineShape->getMassMin(); }
38 double getMassMax() { return m_lineShape->getMassMax(); }
39 double getMaxRange() { return m_lineShape->getMaxRange(); }
40 double getWidth() { return m_lineShape->getWidth(); }
41
42 double getRandMass( EvtId* parId, int nDaug, EvtId* dauId, EvtId* othDauId,
43 double maxMass, double* dauMasses )
44 {
45 return m_lineShape->getRandMass( parId, nDaug, dauId, othDauId, maxMass,
46 dauMasses );
47 }
48 double getMassProb( double mass, double massPar, int nDaug, double* massDau )
49 {
50 return m_lineShape->getMassProb( mass, massPar, nDaug, massDau );
51 }
52
53 double getctau() { return m_ctau; }
54 void setctau( double tau ) { m_ctau = tau; }
55
56 int getChg3() { return m_chg3; }
57 void setChg3( int c3 ) { m_chg3 = c3; }
58
60 void setSpinType( EvtSpinType::spintype stype ) { m_spintype = stype; }
61
62 const std::string& getName() { return m_name; }
63 void setName( std::string pname );
64
65 EvtId getId() const { return m_id; }
66 void setId( EvtId id ) { m_id = id; }
67
69 void setIdChgConj( EvtId idchgconj ) { m_idchgconj = idchgconj; }
70
71 int getStdHep() const { return m_stdhep; }
72 void setStdHep( int stdhep ) { m_stdhep = stdhep; }
73
74 int getLundKC() { return m_lundkc; }
75 void setLundKC( int lundkc ) { m_lundkc = lundkc; }
76
78 void initLineShape( double mass, double width, double maxRange );
79 // void initLineShape(double mass, double width, double maxRange, double mDaug1, double mDaug2, int l);
80
81 // setLineShape takes ownership of l
82 void setLineShape( EvtAbsLineShape* l ) { m_lineShape.reset( l ); }
83 double rollMass() { return m_lineShape->rollMass(); }
84
86
87 void reSetMass( double mass );
88 void reSetWidth( double width );
89
90 void reSetMassMin( double mass );
91 void reSetMassMax( double mass );
92 void reSetBlatt( double blatt );
93 void reSetBlattBirth( double blatt );
94 void includeBirthFactor( bool yesno );
95 void includeDecayFactor( bool yesno );
96 void newLineShape( std::string type );
97 void setPWForDecay( int spin, EvtId d1, EvtId d2 );
98 void setPWForBirthL( int spin, EvtId par, EvtId othD );
99
100 private:
101 std::unique_ptr<EvtAbsLineShape> m_lineShape;
102
103 double m_ctau;
110 std::string m_name;
111};
112
113#endif
Definition EvtId.hh:27
double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDauId, double maxMass, double *dauMasses)
void initLineShape(double mass, double width, double maxRange)
double getMassMin()
void reSetBlatt(double blatt)
void setName(std::string pname)
double rollMass()
void reSetMassMin(double mass)
void setPWForDecay(int spin, EvtId d1, EvtId d2)
void setStdHep(int stdhep)
EvtSpinType::spintype m_spintype
EvtAbsLineShape * getLineShape()
double getMass()
std::unique_ptr< EvtAbsLineShape > m_lineShape
void setPWForBirthL(int spin, EvtId par, EvtId othD)
void setChg3(int c3)
void setSpinType(EvtSpinType::spintype stype)
double getMaxRange()
void includeDecayFactor(bool yesno)
void setIdChgConj(EvtId idchgconj)
std::string m_name
void includeBirthFactor(bool yesno)
void setLundKC(int lundkc)
EvtPartProp & operator=(const EvtPartProp &x)
const std::string & getName()
void reSetMass(double mass)
int getStdHep() const
EvtId getId() const
void setLineShape(EvtAbsLineShape *l)
double getctau()
void reSetWidth(double width)
void newLineShape(std::string type)
EvtSpinType::spintype getSpinType()
EvtId getIdChgConj()
void reSetBlattBirth(double blatt)
void setId(EvtId id)
EvtId m_idchgconj
double getWidth()
void setctau(double tau)
double getMassMax()
int getLundKC()
double getMassProb(double mass, double massPar, int nDaug, double *massDau)
void reSetMassMax(double mass)