ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "PoPs.h"
#include "PoPs_private.h"
Go to the source code of this file.
Classes | |
struct | unitConversions_s |
Macros | |
#define | incrementalSize 1000 |
#define | MeV2eV 1e6 |
#define | MeV2keV 1e3 |
#define | AMU2MeV 931.494028 |
#define | AMU2eV ( MeV2eV * 931.494028 ) |
#define | K2MeV 8.6173856922566752e-11 |
#define | K2eV ( MeV2eV * K2MeV ) |
Typedefs | |
typedef struct unitConversions_s | unitConversions |
Variables | |
int | PoPs_smr_ID = smr_unknownID |
static int | referenceCount = 0 |
static char | versionStr [64] = "" |
static unitsDB | unitsRoot = { 0, 0, NULL } |
static PoPs | popsRoot = { 0, 0, NULL, NULL } |
static unitConversions | conversions [] |
static char const * | PoPs_genreStrings [] = { "invalid", "unknown", "alias", "photon", "lepton", "quark", "meson", "baryon", "nucleus", "atom" } |
#define AMU2eV ( MeV2eV * 931.494028 ) |
#define AMU2MeV 931.494028 |
#define incrementalSize 1000 |
Definition at line 18 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 18 of file PoPs.cc
Referenced by PoPs_addParticleIfNeeded().
#define K2MeV 8.6173856922566752e-11 |
#define MeV2eV 1e6 |
#define MeV2keV 1e3 |
typedef struct unitConversions_s unitConversions |
int PoP_copyParticle | ( | statusMessageReporting * | smr, |
PoP * | desc, | ||
PoP * | src | ||
) |
Definition at line 567 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 567 of file PoPs.cc
References PoP_s::A, PoP_s::aliasIndex, PoP_s::genre, PoP_s::index, PoP_s::l, PoP_s::mass, PoP_s::massUnit, PoP_s::name, PoP_s::properIndex, smr_allocateCopyString2, and PoP_s::Z.
Referenced by PoPs_copyAddParticleIfNeeded().
Definition at line 558 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 558 of file PoPs.cc
References PoP_release(), and smr_freeMemory().
Referenced by lPoPs_addParticleIfNeeded(), PoP_makeAlias(), PoP_makeParticle(), PoP_new(), PoPs_addAliasIfNeeded(), PoPs_copyAddParticleIfNeeded(), PoPs_particleCreateLoadInfo(), PoPs_particleReadDatabase(), and PoPs_releasePrivate().
Definition at line 612 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 612 of file PoPs.cc
References PoP_s::index.
double PoP_getMassInUnitOf | ( | statusMessageReporting * | smr, |
PoP * | pop, | ||
char const * | unit | ||
) |
Definition at line 626 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 626 of file PoPs.cc
References mass, PoP_s::mass, PoP_s::massUnit, PoPs_errorToken_badUnitConversion, PoPs_smr_ID, PoPs_unitConversionRatio(), ratio, and smr_setReportError2.
Referenced by PoPs_getMassInUnitOf_atIndex().
char const* PoP_getName | ( | PoP * | pop | ) |
Definition at line 619 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 619 of file PoPs.cc
References PoP_s::name.
int PoP_initialize | ( | statusMessageReporting * | , |
PoP * | pop | ||
) |
Definition at line 533 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 533 of file PoPs.cc
References PoP_s::A, PoP_s::aliasIndex, PoP_s::genre, PoP_s::index, PoP_s::mass, PoP_s::massUnit, PoP_s::name, PoPs_genre_unknown, PoP_s::properIndex, and PoP_s::Z.
Referenced by PoP_new(), and PoP_release().
PoP* PoP_makeAlias | ( | statusMessageReporting * | smr, |
char const * | name, | ||
char const * | alias | ||
) |
Definition at line 647 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 647 of file PoPs.cc
References PoP_s::aliasIndex, PoP_s::genre, PoP_s::name, PoP_free(), PoP_new(), PoPs_s::pops, PoPs_errorToken_badName, PoPs_genre_alias, PoPs_particleIndex(), PoPs_smr_ID, popsRoot, PoP_s::properIndex, smr_allocateCopyString2, and smr_setReportError2.
Referenced by lPoPs_addParticleIfNeeded(), and PoPs_addAliasIfNeeded().
PoP* PoP_makeParticle | ( | statusMessageReporting * | smr, |
enum PoPs_genre | genre, | ||
char const * | name, | ||
double | mass, | ||
char const * | massUnit | ||
) |
Definition at line 585 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 585 of file PoPs.cc
References PoP_s::genre, mass, PoP_s::mass, PoP_s::massUnit, PoP_s::name, PoP_free(), PoP_new(), smr_allocateCopyString2, and unitsDB_addUnitIfNeeded().
PoP* PoP_new | ( | statusMessageReporting * | smr | ) |
Definition at line 522 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 522 of file PoPs.cc
References PoP_free(), PoP_initialize(), and smr_malloc2.
Referenced by PoP_makeAlias(), PoP_makeParticle(), and PoPs_particleCreateLoadInfo().
Definition at line 549 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 549 of file PoPs.cc
References PoP_s::name, PoP_initialize(), and smr_freeMemory().
Referenced by PoP_free().
PoP* PoPs_addAliasIfNeeded | ( | statusMessageReporting * | smr, |
char const * | name, | ||
char const * | alias | ||
) |
Definition at line 179 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 179 of file PoPs.cc
References PoP_s::index, PoP_free(), PoP_makeAlias(), and PoPs_addParticleIfNeeded().
Referenced by MCGIDI_map_initialize().
PoP* PoPs_addParticleIfNeeded | ( | statusMessageReporting * | smr, |
PoP * | pop | ||
) |
Definition at line 113 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 113 of file PoPs.cc
References PoP_s::aliasIndex, PoPs_s::allocated, PoP_s::genre, incrementalSize, PoP_s::index, PoP_s::name, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_genre_alias, PoPs_particleProperIndex(), PoPs_sortedParticleIndex(), popsRoot, PoP_s::properIndex, smr_freeMemory(), smr_malloc2, and PoPs_s::sorted.
Referenced by lPoPs_addParticleIfNeeded(), PoPs_addAliasIfNeeded(), PoPs_copyAddParticleIfNeeded(), and PoPs_particleReadDatabase().
PoP* PoPs_copyAddParticleIfNeeded | ( | statusMessageReporting * | smr, |
PoP * | pop | ||
) |
Definition at line 153 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 153 of file PoPs.cc
References PoP_s::name, PoP_copyParticle(), PoP_free(), PoPs_s::pops, PoPs_addParticleIfNeeded(), PoPs_particleIndex(), popsRoot, smr_freeMemory(), and smr_malloc2.
char const* PoPs_genreTokenToString | ( | enum PoPs_genre | genre | ) |
Definition at line 446 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 446 of file PoPs.cc
References PoPs_genre_atom, PoPs_genre_invalid, and PoPs_genreStrings.
Referenced by PoPs_write().
int PoPs_getAtomsIndex | ( | statusMessageReporting * | smr, |
char const * | name | ||
) |
Definition at line 397 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 397 of file PoPs.cc
References PoPs_getAtomsIndex_atIndex(), and PoPs_particleIndex_smr().
int PoPs_getAtomsIndex_atIndex | ( | statusMessageReporting * | smr, |
int | index | ||
) |
Definition at line 407 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 407 of file PoPs.cc
References PoP_s::genre, PoP_s::name, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_genre_atom, PoPs_genre_nucleus, PoPs_particleIndex_smr(), PoPs_smr_ID, popsRoot, and smr_setReportError2.
Referenced by PoPs_getAtomsIndex(), and PoPs_getAtomsName_atIndex().
char const* PoPs_getAtomsName | ( | statusMessageReporting * | smr, |
char const * | name | ||
) |
Definition at line 377 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 377 of file PoPs.cc
References PoPs_getAtomsName_atIndex(), and PoPs_particleIndex_smr().
char const* PoPs_getAtomsName_atIndex | ( | statusMessageReporting * | smr, |
int | index | ||
) |
Definition at line 387 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 387 of file PoPs.cc
References PoP_s::name, PoPs_s::pops, PoPs_getAtomsIndex_atIndex(), and popsRoot.
Referenced by PoPs_getAtomsName().
enum PoPs_genre PoPs_getGenre | ( | statusMessageReporting * | smr, |
char const * | name | ||
) |
Definition at line 301 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 301 of file PoPs.cc
References PoP_s::genre, PoPs_s::pops, PoPs_genre_invalid, PoPs_particleIndex_smr(), and popsRoot.
enum PoPs_genre PoPs_getGenre_atIndex | ( | statusMessageReporting * | smr, |
int | index | ||
) |
Definition at line 311 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 311 of file PoPs.cc
References PoP_s::genre, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_genre_invalid, PoPs_smr_ID, popsRoot, and smr_setReportError2.
double PoPs_getMassInUnitOf | ( | statusMessageReporting * | smr, |
char const * | name, | ||
char const * | unit | ||
) |
Definition at line 265 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 265 of file PoPs.cc
References PoPs_getMassInUnitOf_atIndex(), and PoPs_particleIndex_smr().
double PoPs_getMassInUnitOf_atIndex | ( | statusMessageReporting * | smr, |
int | index, | ||
char const * | unit | ||
) |
Definition at line 286 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 286 of file PoPs.cc
References mass, PoPs_s::numberOfParticles, PoP_getMassInUnitOf(), PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_smr_ID, popsRoot, and smr_setReportError2.
Referenced by PoPs_getMassInUnitOf().
char const* PoPs_getName_atIndex | ( | statusMessageReporting * | smr, |
int | index | ||
) |
Definition at line 275 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 275 of file PoPs.cc
References PoP_s::name, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_smr_ID, popsRoot, and smr_setReportError2.
Referenced by MCGIDI_map_findTargetViaPoPIDs().
Definition at line 438 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 438 of file PoPs.cc
References PoPs_s::numberOfParticles, PoPs_s::pops, and popsRoot.
int PoPs_getZ_A_l | ( | statusMessageReporting * | smr, |
char const * | name, | ||
int * | Z, | ||
int * | A, | ||
int * | l | ||
) |
Definition at line 325 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 325 of file PoPs.cc
References PoPs_getZ_A_l_atIndex(), and PoPs_particleIndex_smr().
Definition at line 335 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 335 of file PoPs.cc
References PoP_s::A, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_smr_ID, popsRoot, smr_setReportError2, and PoP_s::Z.
Referenced by PoPs_getZ_A_l().
int PoPs_hasNucleus | ( | statusMessageReporting * | smr, |
char const * | name, | ||
int | protonIsNucleus | ||
) |
Definition at line 349 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 349 of file PoPs.cc
References PoPs_hasNucleus_atIndex(), and PoPs_particleIndex_smr().
Referenced by PoPs_write().
int PoPs_hasNucleus_atIndex | ( | statusMessageReporting * | smr, |
int | index, | ||
int | protonIsNucleus | ||
) |
Definition at line 359 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 359 of file PoPs.cc
References PoP_s::genre, PoP_s::name, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_genre_atom, PoPs_genre_nucleus, PoPs_smr_ID, popsRoot, and smr_setReportError2.
Referenced by PoPs_hasNucleus().
int PoPs_particleIndex | ( | char const * | name | ) |
Definition at line 204 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 204 of file PoPs.cc
References PoP_s::index, PoPs_particleProperIndex(), PoPs_sortedParticleIndex(), popsRoot, and PoPs_s::sorted.
Referenced by lPoPs_addParticleIfNeeded(), MCGIDI_reaction_ParseDetermineReactionProducts(), MCGIDI_reaction_particleChanges(), PoP_makeAlias(), PoPs_copyAddParticleIfNeeded(), and PoPs_particleIndex_smr().
int PoPs_particleIndex_smr | ( | statusMessageReporting * | smr, |
char const * | name, | ||
char const * | file, | ||
int | line, | ||
char const * | func | ||
) |
Definition at line 216 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 216 of file PoPs.cc
References PoPs_errorToken_badName, PoPs_particleIndex(), PoPs_smr_ID, and smr_setReportError().
Referenced by PoPs_getAtomsIndex(), PoPs_getAtomsIndex_atIndex(), PoPs_getAtomsName(), PoPs_getGenre(), PoPs_getMassInUnitOf(), PoPs_getZ_A_l(), and PoPs_hasNucleus().
Definition at line 227 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 227 of file PoPs.cc
References PoPs_s::pops, popsRoot, and PoP_s::properIndex.
Referenced by PoPs_addParticleIfNeeded(), PoPs_particleIndex(), and PoPs_write().
Definition at line 455 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 455 of file PoPs.cc
References PoPs_write().
int PoPs_readDatabase | ( | statusMessageReporting * | smr, |
char const * | fileName | ||
) |
Definition at line 81 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 81 of file PoPs.cc
References PoPs_particleReadDatabase().
Definition at line 73 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 73 of file PoPs.cc
References referenceCount.
int PoPs_release | ( | statusMessageReporting * | smr | ) |
Definition at line 88 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 88 of file PoPs.cc
References PoPs_releasePrivate(), and referenceCount.
int PoPs_releasePrivate | ( | statusMessageReporting * | ) |
Definition at line 98 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 98 of file PoPs.cc
References PoPs_s::allocated, PoPs_s::numberOfParticles, PoP_free(), PoPs_s::pops, popsRoot, smr_freeMemory(), PoPs_s::sorted, and unitsDB_release().
Referenced by PoPs_release().
|
static |
Definition at line 235 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 235 of file PoPs.cc
References PoP_s::name, PoPs_s::numberOfParticles, popsRoot, and PoPs_s::sorted.
Referenced by PoPs_addParticleIfNeeded(), and PoPs_particleIndex().
int PoPs_unitConversionRatio | ( | char const * | _from, |
char const * | _to, | ||
double * | ratio | ||
) |
Definition at line 748 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 748 of file PoPs.cc
References conversions, n, and unitConversions_s::ratio.
Referenced by PoP_getMassInUnitOf().
const char* PoPs_version | ( | void | ) |
Definition at line 59 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 59 of file PoPs.cc
References POPS_VERSION_MAJOR, POPS_VERSION_MINOR, POPS_VERSION_PATCHLEVEL, and versionStr.
Definition at line 67 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 67 of file PoPs.cc
References POPS_VERSION_MAJOR.
Definition at line 68 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 68 of file PoPs.cc
References POPS_VERSION_MINOR.
Definition at line 69 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 69 of file PoPs.cc
References POPS_VERSION_PATCHLEVEL.
Definition at line 462 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 462 of file PoPs.cc
References PoP_s::A, PoP_s::aliasIndex, PoP_s::genre, PoP_s::index, PoP_s::l, PoP_s::mass, PoP_s::massUnit, PoP_s::name, PoPs_s::numberOfParticles, unitsDB_s::numberOfUnits, PoPs_s::pops, PoPs_genre_alias, PoPs_genreTokenToString(), PoPs_hasNucleus(), PoPs_particleProperIndex(), popsRoot, PoPs_s::sorted, unitsRoot, unitsDB_s::unsorted, and PoP_s::Z.
Referenced by PoPs_print().
char const* unitsDB_addUnitIfNeeded | ( | statusMessageReporting * | smr, |
char const * | unit | ||
) |
Definition at line 700 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 700 of file PoPs.cc
References unitsDB_s::allocated, unitsDB_s::numberOfUnits, smr_allocateCopyString2, smr_freeMemory(), smr_malloc2, unitsRoot, and unitsDB_s::unsorted.
Referenced by PoP_makeParticle(), and PoPs_particleLoadInfo().
int unitsDB_index | ( | statusMessageReporting * | , |
char const * | unit | ||
) |
Definition at line 725 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 725 of file PoPs.cc
References unitsDB_s::numberOfUnits, unitsRoot, and unitsDB_s::unsorted.
Definition at line 687 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 687 of file PoPs.cc
References unitsDB_s::allocated, unitsDB_s::numberOfUnits, smr_freeMemory(), unitsRoot, and unitsDB_s::unsorted.
Referenced by PoPs_releasePrivate().
char const* unitsDB_stringFromIndex | ( | statusMessageReporting * | smr, |
int | index | ||
) |
Definition at line 737 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 737 of file PoPs.cc
References unitsDB_s::numberOfUnits, PoPs_smr_ID, smr_setReportError2, unitsRoot, and unitsDB_s::unsorted.
|
static |
|
static |
Definition at line 51 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 51 of file PoPs.cc
Referenced by PoPs_genreTokenToString().
int PoPs_smr_ID = smr_unknownID |
Definition at line 35 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 35 of file PoPs.cc
Referenced by lPoPs_addParticleIfNeeded(), PoP_getMassInUnitOf(), PoP_makeAlias(), PoPs_getAtomsIndex_atIndex(), PoPs_getGenre_atIndex(), PoPs_getMassInUnitOf_atIndex(), PoPs_getName_atIndex(), PoPs_getZ_A_l_atIndex(), PoPs_hasNucleus_atIndex(), PoPs_particleIndex_smr(), and unitsDB_stringFromIndex().
|
static |
Definition at line 43 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 43 of file PoPs.cc
Referenced by PoP_makeAlias(), PoPs_addParticleIfNeeded(), PoPs_copyAddParticleIfNeeded(), PoPs_getAtomsIndex_atIndex(), PoPs_getAtomsName_atIndex(), PoPs_getGenre(), PoPs_getGenre_atIndex(), PoPs_getMassInUnitOf_atIndex(), PoPs_getName_atIndex(), PoPs_getParticle_atIndex(), PoPs_getZ_A_l_atIndex(), PoPs_hasNucleus_atIndex(), PoPs_numberOfParticle(), PoPs_particleIndex(), PoPs_particleProperIndex(), PoPs_releasePrivate(), PoPs_sortedParticleIndex(), and PoPs_write().
|
static |
Definition at line 36 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 36 of file PoPs.cc
Referenced by PoPs_register(), and PoPs_release().
|
static |
Definition at line 42 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 42 of file PoPs.cc
Referenced by PoPs_write(), unitsDB_addUnitIfNeeded(), unitsDB_index(), unitsDB_release(), and unitsDB_stringFromIndex().
|
static |
Definition at line 37 of file PoPs.cc.
View newest version in sPHENIX GitHub at line 37 of file PoPs.cc
Referenced by PoPs_version().