GENIEGenerator
Loading...
Searching...
No Matches
PDGLibrary.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::PDGLibrary
5
6\brief Singleton class to load & serve a TDatabasePDG.
7
8\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9 University of Liverpool
10
11 Changes required to implement the GENIE Boosted Dark Matter module
12 were installed by Josh Berger (Univ. of Wisconsin)
13
14 Changes required to implement the GENIE Dark Neutrino module
15 were installed by Iker de Icaza (Univ. of Sussex)
16
17 Changes required to implement the GENIE BeamHNL module
18 were installed by John Plows (Univ. of Oxford)
19
20\created May 06, 2004
21
22\cpright Copyright (c) 2003-2025, The GENIE Collaboration
23 For the full text of the license visit http://copyright.genie-mc.org
24*/
25//____________________________________________________________________________
26
27#ifndef _PDG_LIBRARY_H_
28#define _PDG_LIBRARY_H_
29
30#include <TDatabasePDG.h>
31#include <TParticlePDG.h>
32
33namespace genie {
34
36{
37public:
38
39 static PDGLibrary * Instance(void);
40
41 TDatabasePDG * DBase (void);
42 TParticlePDG * Find (int pdgc, bool must_exist = true );
43 void ReloadDBase (void);
44
45 // Add dark matter and mediator with parameters from Boosted Dark Matter app configuration
46 // Ideally, this code should be in the Dark Matter app, not here.
47 // But presently there is no way to edit the PDGLibrary after it has been created.
48 void AddDarkMatter (double mass, double med_ratio);
49
50private:
51
52 PDGLibrary();
53 PDGLibrary(const PDGLibrary & config_pool);
54 virtual ~PDGLibrary();
55
56 bool LoadDBase(void);
57 bool AddDarkSector ();
58 bool AddHNL (void);
59
61 TDatabasePDG * fDatabasePDG;
62
63 struct Cleaner {
66 if (PDGLibrary::fInstance !=0) {
69 }
70 }
71 };
72 friend struct Cleaner;
73};
74
75} // genie namespace
76
77#endif // _PDG_LIBRARY_H_
void ReloadDBase(void)
void AddDarkMatter(double mass, double med_ratio)
static PDGLibrary * Instance(void)
PDGLibrary(const PDGLibrary &config_pool)
bool LoadDBase(void)
TDatabasePDG * DBase(void)
static PDGLibrary * fInstance
Definition PDGLibrary.h:60
TParticlePDG * Find(int pdgc, bool must_exist=true)
virtual ~PDGLibrary()
TDatabasePDG * fDatabasePDG
Definition PDGLibrary.h:61
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25