56 std::ifstream pdtIn( fname );
59 <<
"Could not open:" << fname <<
"EvtPDL" << endl;
82 indec.seekg( 0, std::ios::beg );
94 while ( indec.get( ch1 ), ch1 !=
'\n' )
97 }
while ( ch ==
'*' );
101 if ( strcmp( cmnd,
"end" ) ) {
102 if ( !strcmp( cmnd,
"add" ) ) {
139 if ( spin2 == 2 && mass < 0.0001 )
141 if ( spin2 == 1 && mass < 0.0001 )
144 if ( !strcmp( pname,
"string" ) ) {
148 if ( !strcmp( pname,
"vpho" ) ) {
160 <<
"The particle name:" << pname
161 <<
" is already defined." << endl;
163 <<
"Will terminate execution.";
178 if ( !strcmp( cmnd,
"set" ) ) {
186 }
while ( strcmp( cmnd,
"end" ) );
196 <<
"Can't charge conjugate the two aliases:" 213 idchg =
partlist()[
id.getAlias()].getIdChgConj();
216 if ( idchg !=
EvtId( -1, -1 ) )
219 if (
id.
getId() !=
id.getAlias() ) {
222 partlist()[
id.getAlias()].setIdChgConj(
id );
227 if (
id.getAlias() !=
id.
getId() ) {
229 <<
"Trying to charge conjugate alias particle:" <<
name(
id ).c_str()
230 <<
" without defining the alias!" << endl;
235 for (
size_t i = 0; i <
partlist().size(); i++ ) {
242 partlist()[
id.getId()].setIdChgConj(
id );
248 for (
size_t i = 0; i <
partlist().size(); i++ ) {
249 if (
partlist()[i].getStdHep() == stdhep )
253 return EvtId( -1, -1 );
260 if ( newname ==
partlist()[i].getName() ) {
262 <<
"Redefining alias:" << newname.c_str()
263 <<
" will be ignored!" << endl;
273 partlist()[entry].setName( newname );
277 <<
"The particle name:" << newname <<
" is already defined." << endl;
290 std::string(
name ) );
292 return EvtId( -1, -1 );
294 return partlist()[it->second].getId();
306 for ( i = 0; i <
partlist().size(); i++ ) {
307 if (
partlist()[i].getLundKC() == pythiaId )
311 return EvtId( -1, -1 );
325 EvtId* othDaugId,
double maxMass,
double* dauMasses )
327 return partlist()[i.
getId()].getRandMass( parId, nDaug, dauId, othDaugId,
328 maxMass, dauMasses );
334 return partlist()[i.
getId()].getMassProb( mass, massPar, nDaug, massDau );
364 return partlist()[
id.getId()].getStdHep();
369 return partlist()[
id.getId()].getLundKC();
void setStdHep(int stdhep)
static unsigned int _firstAlias
static void reSetMass(EvtId i, double mass)
static std::string name(EvtId i)
static std::vector< EvtPartProp > & partlist()
static void reSetMassMin(EvtId i, double mass)
static EvtId evtIdFromLundKC(int pythiaId)
static EvtId getEntry(int i)
static EvtSpinType::spintype getSpinType(EvtId i)
void read(const std::string &fname)
static void reSetWidth(EvtId i, double width)
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
static double getMassProb(EvtId i, double mass, double massPar, int nDaug, double *massDau)
static int getLundKC(EvtId id)
static void setPWForDecay(EvtId i, int spin, EvtId d1, EvtId d2)
static std::map< std::string, int > _particleNameLookup
static double getctau(EvtId i)
static void reSetBlatt(EvtId i, double blatt)
static void includeDecayFactor(EvtId i, bool yesno)
static double getMeanMass(EvtId i)
void readPDT(std::istream &data)
void setIdChgConj(EvtId idchgconj)
static void alias(EvtId num, const std::string &newname)
static void reSetBlattBirth(EvtId i, double blatt)
void setSpinType(EvtSpinType::spintype stype)
void setName(std::string pname)
static double getMinMass(EvtId i)
static EvtId evtIdFromStdHep(int stdhep)
static void changeLS(EvtId i, std::string &newLS)
static EvtId getId(const std::string &name)
static double getWidth(EvtId i)
static void aliasChgConj(EvtId a, EvtId abar)
static void reSetMassMax(EvtId i, double mass)
static double getMaxRange(EvtId i)
static void setPWForBirthL(EvtId i, int spin, EvtId par, EvtId othD)
static double getMass(EvtId i)
static EvtId chargeConj(EvtId id)
static int getStdHep(EvtId id)
void setLundKC(int lundkc)
static double getMaxMass(EvtId i)
static void includeBirthFactor(EvtId i, bool yesno)
void initLineShape(double mass, double width, double maxRange)
static double getRandMass(EvtId i, EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses)