BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtPDL.hh
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtGen/EvtPDL.hh
12//
13// Description:Class to keep track of particle properties.
14//
15// Modification history:
16//
17// DJL/RYD September 25, 1996 Module created
18//
19//------------------------------------------------------------------------
20
21#ifndef EVTPDL_HH
22#define EVTPDL_HH
23
24#include "EvtId.hh"
25#include "EvtPartProp.hh"
26#include "EvtSpinType.hh"
27#include "EvtStringHash.hh"
28#include <map>
29#include <vector>
30
31const int SPIN_NAME_LENGTH = 100;
32
33class EvtPDL {
34
35public:
36 EvtPDL();
37
38 ~EvtPDL();
39
40 void read( const char* fname );
41 void readPDT( const std::string fname );
42
43 static double getMeanMass( EvtId i ) { return partlist()[i.getId()].getMass(); }
44 static double getMass( EvtId i ) { return partlist()[i.getId()].rollMass(); }
45 static double getRandMass( EvtId i, EvtId* parId, int nDaug, EvtId* dauId, EvtId* othDaugId,
46 double maxMass, double* dauMasses ) {
47 return partlist()[i.getId()].getRandMass( parId, nDaug, dauId, othDaugId, maxMass,
48 dauMasses );
49 }
50 static double getMassProb( EvtId i, double mass, double massPar, int nDaug,
51 double* massDau ) {
52 return partlist()[i.getId()].getMassProb( mass, massPar, nDaug, massDau );
53 }
54
55 static double getMaxMass( EvtId i ) { return partlist()[i.getId()].getMassMax(); }
56 static double getMinMass( EvtId i ) { return partlist()[i.getId()].getMassMin(); }
57 // the number we got from PDT
58 static double getMaxRange( EvtId i ) { return partlist()[i.getId()].getMaxRange(); }
59 static double getWidth( EvtId i ) { return partlist()[i.getId()].getWidth(); }
60 static double getctau( EvtId i ) { return partlist()[i.getId()].getctau(); }
61 static int getStdHep( EvtId id ) { return partlist()[id.getId()].getStdHep(); }
62 static int getLundKC( EvtId id ) { return partlist()[id.getId()].getLundKC(); }
63 static EvtId evtIdFromStdHep( int stdhep );
64 static EvtId chargeConj( EvtId id );
65 static int chg3( EvtId i ) { return partlist()[i.getId()].getChg3(); }
67 return partlist()[i.getId()].getSpinType();
68 }
69 static EvtId getId( const std::string& name );
70 static std::string name( EvtId i ) { return partlist()[i.getAlias()].getName(); }
71 static void alias( EvtId num, const std::string& newname );
72 static void aliasChgConj( EvtId a, EvtId abar );
73 static int entries() { return partlist().size(); }
74 static void reSetMass( EvtId i, double mass ) { partlist()[i.getId()].reSetMass( mass ); }
75 static void reSetWidth( EvtId i, double width ) {
76 partlist()[i.getId()].reSetWidth( width );
77 }
78 static void reSetMassMin( EvtId i, double mass ) {
79 partlist()[i.getId()].reSetMassMin( mass );
80 }
81 static void reSetMassMax( EvtId i, double mass ) {
82 partlist()[i.getId()].reSetMassMax( mass );
83 }
84 static void reSetBlatt( EvtId i, double blatt ) {
85 partlist()[i.getId()].reSetBlatt( blatt );
86 }
87 static void includeBirthFactor( EvtId i, bool yesno ) {
88 partlist()[i.getId()].includeBirthFactor( yesno );
89 }
90 static void includeDecayFactor( EvtId i, bool yesno ) {
91 partlist()[i.getId()].includeDecayFactor( yesno );
92 }
93 static void addFactorPn( EvtId i, double factor ) {
94 partlist()[i.getId()].addFactorPn( factor );
95 }
96 static void changeLS( EvtId i, std::string& newLS ) {
97 partlist()[i.getId()].newLineShape( newLS );
98 }
99 static void setPWForDecay( EvtId i, int spin, EvtId d1, EvtId d2 ) {
100 partlist()[i.getId()].setPWForDecay( spin, d1, d2 );
101 }
102 static void setPWForBirthL( EvtId i, int spin, EvtId par, EvtId othD );
103 static void fixLSForSP8( EvtId i ) { partlist()[i.getId()].fixLSForSP8(); }
104
105private:
106 void setUpConstsPdt();
107
108 static int _firstAlias;
109 static int _nentries;
110
111 static std::vector<EvtPartProp>& partlist() {
112 static std::vector<EvtPartProp> s_partlist;
113 return s_partlist;
114 }
115
116 static std::map<std::string, int> _particleNameLookup;
117
118}; // EvtPDL.h
119
120#endif
double mass
const int SPIN_NAME_LENGTH
Definition EvtPDL.hh:31
Definition EvtId.hh:27
int getAlias() const
Definition EvtId.hh:42
int getId() const
Definition EvtId.hh:40
static double getWidth(EvtId i)
Definition EvtPDL.hh:59
static int getStdHep(EvtId id)
Definition EvtPDL.hh:61
static void reSetBlatt(EvtId i, double blatt)
Definition EvtPDL.hh:84
static double getRandMass(EvtId i, EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses)
Definition EvtPDL.hh:45
void read(const char *fname)
Definition EvtPDL.cc:55
static void addFactorPn(EvtId i, double factor)
Definition EvtPDL.hh:93
static void fixLSForSP8(EvtId i)
Definition EvtPDL.hh:103
static void changeLS(EvtId i, std::string &newLS)
Definition EvtPDL.hh:96
static double getMeanMass(EvtId i)
Definition EvtPDL.hh:43
static void reSetWidth(EvtId i, double width)
Definition EvtPDL.hh:75
void readPDT(const std::string fname)
Definition EvtPDL.cc:57
static void setPWForBirthL(EvtId i, int spin, EvtId par, EvtId othD)
static int entries()
Definition EvtPDL.hh:73
static void reSetMass(EvtId i, double mass)
Definition EvtPDL.hh:74
static EvtId evtIdFromStdHep(int stdhep)
Definition EvtPDL.cc:232
static void alias(EvtId num, const std::string &newname)
Definition EvtPDL.cc:244
static void includeDecayFactor(EvtId i, bool yesno)
Definition EvtPDL.hh:90
static void reSetMassMax(EvtId i, double mass)
Definition EvtPDL.hh:81
static double getMaxRange(EvtId i)
Definition EvtPDL.hh:58
static std::string name(EvtId i)
Definition EvtPDL.hh:70
static EvtId chargeConj(EvtId id)
Definition EvtPDL.cc:193
static double getMassProb(EvtId i, double mass, double massPar, int nDaug, double *massDau)
Definition EvtPDL.hh:50
static double getMinMass(EvtId i)
Definition EvtPDL.hh:56
static EvtSpinType::spintype getSpinType(EvtId i)
Definition EvtPDL.hh:66
static void setPWForDecay(EvtId i, int spin, EvtId d1, EvtId d2)
Definition EvtPDL.hh:99
static int chg3(EvtId i)
Definition EvtPDL.hh:65
static int getLundKC(EvtId id)
Definition EvtPDL.hh:62
EvtPDL()
Definition EvtPDL.cc:43
static void aliasChgConj(EvtId a, EvtId abar)
Definition EvtPDL.cc:176
static void includeBirthFactor(EvtId i, bool yesno)
Definition EvtPDL.hh:87
static double getMaxMass(EvtId i)
Definition EvtPDL.hh:55
static double getMass(EvtId i)
Definition EvtPDL.hh:44
static EvtId getId(const std::string &name)
Definition EvtPDL.cc:272
~EvtPDL()
Definition EvtPDL.cc:53
static double getctau(EvtId i)
Definition EvtPDL.hh:60
static void reSetMassMin(EvtId i, double mass)
Definition EvtPDL.hh:78