Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
클래스 | 매크로 | 타입정의 | 함수 | 변수
PoPs.cc 파일 참조
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "PoPs.h"
#include "PoPs_private.h"

이 파일의 소스 코드 페이지로 가기

클래스

struct  unitConversions_s
 

매크로

#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 )
 

타입정의

typedef struct unitConversions_s unitConversions
 

함수

static int PoPs_particleProperIndex (int index)
 
static int PoPs_sortedParticleIndex (char const *name)
 
static int unitsDB_release (void)
 
const char * PoPs_version (void)
 
int PoPs_versionMajor (void)
 
int PoPs_versionMinor (void)
 
int PoPs_versionPatchLevel (void)
 
int PoPs_register (void)
 
int PoPs_readDatabase (statusMessageReporting *smr, char const *fileName)
 
int PoPs_release (statusMessageReporting *smr)
 
int PoPs_releasePrivate (statusMessageReporting *)
 
PoPPoPs_addParticleIfNeeded (statusMessageReporting *smr, PoP *pop)
 
PoPPoPs_copyAddParticleIfNeeded (statusMessageReporting *smr, PoP *pop)
 
PoPPoPs_addAliasIfNeeded (statusMessageReporting *smr, char const *name, char const *alias)
 
int PoPs_numberOfParticle (void)
 
int PoPs_particleIndex (char const *name)
 
int PoPs_particleIndex_smr (statusMessageReporting *smr, char const *name, char const *file, int line, char const *func)
 
double PoPs_getMassInUnitOf (statusMessageReporting *smr, char const *name, char const *unit)
 
char const * PoPs_getName_atIndex (statusMessageReporting *smr, int index)
 
double PoPs_getMassInUnitOf_atIndex (statusMessageReporting *smr, int index, char const *unit)
 
enum PoPs_genre PoPs_getGenre (statusMessageReporting *smr, char const *name)
 
enum PoPs_genre PoPs_getGenre_atIndex (statusMessageReporting *smr, int index)
 
int PoPs_getZ_A_l (statusMessageReporting *smr, char const *name, int *Z, int *A, int *l)
 
int PoPs_getZ_A_l_atIndex (statusMessageReporting *smr, int index, int *Z, int *A, int *l)
 
int PoPs_hasNucleus (statusMessageReporting *smr, char const *name, int protonIsNucleus)
 
int PoPs_hasNucleus_atIndex (statusMessageReporting *smr, int index, int protonIsNucleus)
 
char const * PoPs_getAtomsName (statusMessageReporting *smr, char const *name)
 
char const * PoPs_getAtomsName_atIndex (statusMessageReporting *smr, int index)
 
int PoPs_getAtomsIndex (statusMessageReporting *smr, char const *name)
 
int PoPs_getAtomsIndex_atIndex (statusMessageReporting *smr, int index)
 
PoPPoPs_getParticle_atIndex (int index)
 
char const * PoPs_genreTokenToString (enum PoPs_genre genre)
 
void PoPs_print (int sorted)
 
void PoPs_write (FILE *f, int sorted)
 
PoPPoP_new (statusMessageReporting *smr)
 
int PoP_initialize (statusMessageReporting *, PoP *pop)
 
int PoP_release (PoP *pop)
 
PoPPoP_free (PoP *pop)
 
int PoP_copyParticle (statusMessageReporting *smr, PoP *desc, PoP *src)
 
PoPPoP_makeParticle (statusMessageReporting *smr, enum PoPs_genre genre, char const *name, double mass, char const *massUnit)
 
int PoP_setZ_A_l (statusMessageReporting *, PoP *pop, int Z, int A, int l)
 
int PoP_getIndex (PoP *pop)
 
char const * PoP_getName (PoP *pop)
 
double PoP_getMassInUnitOf (statusMessageReporting *smr, PoP *pop, char const *unit)
 
PoPPoP_makeAlias (statusMessageReporting *smr, char const *name, char const *alias)
 
char const * unitsDB_addUnitIfNeeded (statusMessageReporting *smr, char const *unit)
 
int unitsDB_index (statusMessageReporting *, char const *unit)
 
char const * unitsDB_stringFromIndex (statusMessageReporting *smr, int index)
 
int PoPs_unitConversionRatio (char const *_from, char const *_to, double *ratio)
 

변수

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 )

PoPs.cc 파일의 23 번째 라인에서 정의되었습니다.

#define AMU2MeV   931.494028

PoPs.cc 파일의 22 번째 라인에서 정의되었습니다.

#define incrementalSize   1000

PoPs.cc 파일의 18 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : PoPs_addParticleIfNeeded().

#define K2eV   ( MeV2eV * K2MeV )

PoPs.cc 파일의 25 번째 라인에서 정의되었습니다.

#define K2MeV   8.6173856922566752e-11

PoPs.cc 파일의 24 번째 라인에서 정의되었습니다.

#define MeV2eV   1e6

PoPs.cc 파일의 20 번째 라인에서 정의되었습니다.

#define MeV2keV   1e3

PoPs.cc 파일의 21 번째 라인에서 정의되었습니다.

타입정의 문서화

PoPs.cc 파일의 27 번째 라인에서 정의되었습니다.

함수 문서화

int PoP_copyParticle ( statusMessageReporting smr,
PoP desc,
PoP src 
)

PoPs.cc 파일의 567 번째 라인에서 정의되었습니다.

다음을 참조함 : 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, PoP_s::Z.

다음에 의해서 참조됨 : PoPs_copyAddParticleIfNeeded().

PoP* PoP_free ( PoP pop)
int PoP_getIndex ( PoP pop)

PoPs.cc 파일의 612 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::index.

double PoP_getMassInUnitOf ( statusMessageReporting smr,
PoP pop,
char const *  unit 
)

PoPs.cc 파일의 626 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::mass, PoP_s::massUnit, PoPs_errorToken_badUnitConversion, PoPs_smr_ID, PoPs_unitConversionRatio(), smr_setReportError2.

다음에 의해서 참조됨 : PoPs_getMassInUnitOf_atIndex().

char const* PoP_getName ( PoP pop)

PoPs.cc 파일의 619 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::name.

int PoP_initialize ( statusMessageReporting ,
PoP pop 
)

PoPs.cc 파일의 533 번째 라인에서 정의되었습니다.

다음을 참조함 : 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, PoP_s::Z.

다음에 의해서 참조됨 : PoP_new(), PoP_release().

PoP* PoP_makeAlias ( statusMessageReporting smr,
char const *  name,
char const *  alias 
)
PoP* PoP_makeParticle ( statusMessageReporting smr,
enum PoPs_genre  genre,
char const *  name,
double  mass,
char const *  massUnit 
)

PoPs.cc 파일의 585 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::genre, PoP_s::mass, PoP_s::massUnit, PoP_s::name, PoP_free(), PoP_new(), smr_allocateCopyString2, unitsDB_addUnitIfNeeded().

PoP* PoP_new ( statusMessageReporting smr)

PoPs.cc 파일의 522 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_free(), PoP_initialize(), smr_malloc2.

다음에 의해서 참조됨 : PoP_makeAlias(), PoP_makeParticle(), PoPs_particleCreateLoadInfo().

int PoP_release ( PoP pop)

PoPs.cc 파일의 549 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::name, PoP_initialize(), smr_freeMemory().

다음에 의해서 참조됨 : PoP_free().

int PoP_setZ_A_l ( statusMessageReporting ,
PoP pop,
int  Z,
int  A,
int  l 
)

PoPs.cc 파일의 602 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::A, A(), PoP_s::l, Z, PoP_s::Z.

PoP* PoPs_addAliasIfNeeded ( statusMessageReporting smr,
char const *  name,
char const *  alias 
)

PoPs.cc 파일의 179 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::index, PoP_free(), PoP_makeAlias(), PoPs_addParticleIfNeeded().

다음에 의해서 참조됨 : MCGIDI_map_initialize().

PoP* PoPs_addParticleIfNeeded ( statusMessageReporting smr,
PoP pop 
)
PoP* PoPs_copyAddParticleIfNeeded ( statusMessageReporting smr,
PoP pop 
)

PoPs.cc 파일의 153 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::name, PoP_copyParticle(), PoP_free(), PoPs_s::pops, PoPs_addParticleIfNeeded(), PoPs_particleIndex(), popsRoot, smr_freeMemory(), smr_malloc2.

char const* PoPs_genreTokenToString ( enum PoPs_genre  genre)

PoPs.cc 파일의 446 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_genre_atom, PoPs_genre_invalid, PoPs_genreStrings.

다음에 의해서 참조됨 : PoPs_write().

int PoPs_getAtomsIndex ( statusMessageReporting smr,
char const *  name 
)

PoPs.cc 파일의 397 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_getAtomsIndex_atIndex(), PoPs_particleIndex_smr().

int PoPs_getAtomsIndex_atIndex ( statusMessageReporting smr,
int  index 
)
char const* PoPs_getAtomsName ( statusMessageReporting smr,
char const *  name 
)

PoPs.cc 파일의 377 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_getAtomsName_atIndex(), PoPs_particleIndex_smr().

char const* PoPs_getAtomsName_atIndex ( statusMessageReporting smr,
int  index 
)

PoPs.cc 파일의 387 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::name, PoPs_s::pops, PoPs_getAtomsIndex_atIndex(), popsRoot.

다음에 의해서 참조됨 : PoPs_getAtomsName().

enum PoPs_genre PoPs_getGenre ( statusMessageReporting smr,
char const *  name 
)

PoPs.cc 파일의 301 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::genre, PoPs_s::pops, PoPs_genre_invalid, PoPs_particleIndex_smr(), popsRoot.

enum PoPs_genre PoPs_getGenre_atIndex ( statusMessageReporting smr,
int  index 
)

PoPs.cc 파일의 311 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::genre, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_genre_invalid, PoPs_smr_ID, popsRoot, smr_setReportError2.

double PoPs_getMassInUnitOf ( statusMessageReporting smr,
char const *  name,
char const *  unit 
)

PoPs.cc 파일의 265 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_getMassInUnitOf_atIndex(), PoPs_particleIndex_smr().

double PoPs_getMassInUnitOf_atIndex ( statusMessageReporting smr,
int  index,
char const *  unit 
)

PoPs.cc 파일의 286 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_s::numberOfParticles, PoP_getMassInUnitOf(), PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_smr_ID, popsRoot, smr_setReportError2.

다음에 의해서 참조됨 : PoPs_getMassInUnitOf().

char const* PoPs_getName_atIndex ( statusMessageReporting smr,
int  index 
)

PoPs.cc 파일의 275 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::name, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_smr_ID, popsRoot, smr_setReportError2.

다음에 의해서 참조됨 : MCGIDI_map_findTargetViaPoPIDs().

PoP* PoPs_getParticle_atIndex ( int  index)

PoPs.cc 파일의 438 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_s::numberOfParticles, PoPs_s::pops, popsRoot.

int PoPs_getZ_A_l ( statusMessageReporting smr,
char const *  name,
int Z,
int A,
int l 
)

PoPs.cc 파일의 325 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_getZ_A_l_atIndex(), PoPs_particleIndex_smr().

int PoPs_getZ_A_l_atIndex ( statusMessageReporting smr,
int  index,
int Z,
int A,
int l 
)

PoPs.cc 파일의 335 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::A, PoPs_s::numberOfParticles, PoPs_s::pops, PoPs_errorToken_badIndex, PoPs_smr_ID, popsRoot, smr_setReportError2, PoP_s::Z.

다음에 의해서 참조됨 : PoPs_getZ_A_l().

int PoPs_hasNucleus ( statusMessageReporting smr,
char const *  name,
int  protonIsNucleus 
)

PoPs.cc 파일의 349 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_hasNucleus_atIndex(), PoPs_particleIndex_smr().

다음에 의해서 참조됨 : PoPs_write().

int PoPs_hasNucleus_atIndex ( statusMessageReporting smr,
int  index,
int  protonIsNucleus 
)

PoPs.cc 파일의 359 번째 라인에서 정의되었습니다.

다음을 참조함 : 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, smr_setReportError2.

다음에 의해서 참조됨 : PoPs_hasNucleus().

int PoPs_numberOfParticle ( void  )

PoPs.cc 파일의 197 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_s::numberOfParticles, popsRoot.

int PoPs_particleIndex ( char const *  name)
int PoPs_particleIndex_smr ( statusMessageReporting smr,
char const *  name,
char const *  file,
int  line,
char const *  func 
)
static int PoPs_particleProperIndex ( int  index)
static

PoPs.cc 파일의 227 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_s::pops, popsRoot, PoP_s::properIndex.

다음에 의해서 참조됨 : PoPs_addParticleIfNeeded(), PoPs_particleIndex(), PoPs_write().

void PoPs_print ( int  sorted)

PoPs.cc 파일의 455 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_write().

int PoPs_readDatabase ( statusMessageReporting smr,
char const *  fileName 
)

PoPs.cc 파일의 81 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_particleReadDatabase().

int PoPs_register ( void  )

PoPs.cc 파일의 73 번째 라인에서 정의되었습니다.

다음을 참조함 : referenceCount.

int PoPs_release ( statusMessageReporting smr)

PoPs.cc 파일의 88 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_releasePrivate(), referenceCount.

int PoPs_releasePrivate ( statusMessageReporting )

PoPs.cc 파일의 98 번째 라인에서 정의되었습니다.

다음을 참조함 : PoPs_s::allocated, PoPs_s::numberOfParticles, PoP_free(), PoPs_s::pops, popsRoot, smr_freeMemory(), PoPs_s::sorted, unitsDB_release().

다음에 의해서 참조됨 : PoPs_release().

static int PoPs_sortedParticleIndex ( char const *  name)
static

PoPs.cc 파일의 235 번째 라인에서 정의되었습니다.

다음을 참조함 : PoP_s::name, PoPs_s::numberOfParticles, popsRoot, PoPs_s::sorted.

다음에 의해서 참조됨 : PoPs_addParticleIfNeeded(), PoPs_particleIndex().

int PoPs_unitConversionRatio ( char const *  _from,
char const *  _to,
double *  ratio 
)

PoPs.cc 파일의 748 번째 라인에서 정의되었습니다.

다음을 참조함 : conversions, n, unitConversions_s::ratio.

다음에 의해서 참조됨 : PoP_getMassInUnitOf().

const char* PoPs_version ( void  )

PoPs.cc 파일의 59 번째 라인에서 정의되었습니다.

다음을 참조함 : POPS_VERSION_MAJOR, POPS_VERSION_MINOR, POPS_VERSION_PATCHLEVEL, versionStr.

int PoPs_versionMajor ( void  )

PoPs.cc 파일의 67 번째 라인에서 정의되었습니다.

다음을 참조함 : POPS_VERSION_MAJOR.

int PoPs_versionMinor ( void  )

PoPs.cc 파일의 68 번째 라인에서 정의되었습니다.

다음을 참조함 : POPS_VERSION_MINOR.

int PoPs_versionPatchLevel ( void  )

PoPs.cc 파일의 69 번째 라인에서 정의되었습니다.

다음을 참조함 : POPS_VERSION_PATCHLEVEL.

void PoPs_write ( FILE *  f,
int  sorted 
)
char const* unitsDB_addUnitIfNeeded ( statusMessageReporting smr,
char const *  unit 
)

PoPs.cc 파일의 700 번째 라인에서 정의되었습니다.

다음을 참조함 : unitsDB_s::allocated, unitsDB_s::numberOfUnits, smr_allocateCopyString2, smr_freeMemory(), smr_malloc2, unitsRoot, unitsDB_s::unsorted.

다음에 의해서 참조됨 : PoP_makeParticle(), PoPs_particleLoadInfo().

int unitsDB_index ( statusMessageReporting ,
char const *  unit 
)

PoPs.cc 파일의 725 번째 라인에서 정의되었습니다.

다음을 참조함 : unitsDB_s::numberOfUnits, unitsRoot, unitsDB_s::unsorted.

static int unitsDB_release ( void  )
static

PoPs.cc 파일의 687 번째 라인에서 정의되었습니다.

다음을 참조함 : unitsDB_s::allocated, unitsDB_s::numberOfUnits, smr_freeMemory(), unitsRoot, unitsDB_s::unsorted.

다음에 의해서 참조됨 : PoPs_releasePrivate().

char const* unitsDB_stringFromIndex ( statusMessageReporting smr,
int  index 
)

PoPs.cc 파일의 737 번째 라인에서 정의되었습니다.

다음을 참조함 : unitsDB_s::numberOfUnits, PoPs_smr_ID, smr_setReportError2, unitsRoot, unitsDB_s::unsorted.

변수 문서화

unitConversions conversions[]
static
초기값:
= { { "amu", "eV/c**2", AMU2eV }, { "amu", "MeV/c**2", AMU2MeV }, { "MeV/c**2", "eV/c**2", MeV2eV },
{ "MeV", "eV", MeV2eV }, { "MeV", "keV", MeV2keV }, { "K", "MeV", K2MeV }, { "K", "eV", K2eV } }
#define MeV2eV
Definition: PoPs.cc:20
#define K2MeV
Definition: PoPs.cc:24
#define MeV2keV
Definition: PoPs.cc:21
#define AMU2MeV
Definition: PoPs.cc:22
#define K2eV
Definition: PoPs.cc:25
#define AMU2eV
Definition: PoPs.cc:23

PoPs.cc 파일의 48 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : PoPs_unitConversionRatio().

char const* PoPs_genreStrings[] = { "invalid", "unknown", "alias", "photon", "lepton", "quark", "meson", "baryon", "nucleus", "atom" }
static

PoPs.cc 파일의 51 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : PoPs_genreTokenToString().

int PoPs_smr_ID = smr_unknownID
PoPs popsRoot = { 0, 0, NULL, NULL }
static
int referenceCount = 0
static

PoPs.cc 파일의 36 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : PoPs_register(), PoPs_release().

unitsDB unitsRoot = { 0, 0, NULL }
static

PoPs.cc 파일의 42 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : PoPs_write(), unitsDB_addUnitIfNeeded(), unitsDB_index(), unitsDB_release(), unitsDB_stringFromIndex().

char versionStr[64] = ""
static

PoPs.cc 파일의 37 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : PoPs_version().