EpIC 1.1.0
Monte Carlo generator for exclusive processes
Loading...
Searching...
No Matches
Epic.h
1/*
2 * Epic.h
3 *
4 * Created on: Feb 7, 2021
5 * Author: Pawel Sznajder (NCBJ)
6 */
7
8#ifndef EPIC_H_
9#define EPIC_H_
10
11namespace EPIC {
12class RandomSeedManager;
13class ServiceObjectRegistry;
14class ModuleObjectFactory;
15} /* namespace EPIC */
16namespace PARTONS {
17class Partons;
18} /* namespace PARTONS */
19
20namespace EPIC {
21
31class Epic {
32
33public:
37 static Epic *getInstance();
38
42 virtual ~Epic();
43
49 void init(int argc, char **argv);
50
54 void close();
55
59 void printVersion() const;
60
65
70
75
76private:
80 Epic();
81
85 static Epic *m_pInstance;
86
90 PARTONS::Partons *m_pPartons;
91
95 ServiceObjectRegistry *m_pServiceObjectRegistry;
96
100 ModuleObjectFactory *m_pModuleObjectFactory;
101
105 RandomSeedManager *m_pRandomSeedManager;
106};
107
108} /* namespace EPIC */
109
110#endif /* EPIC_H_ */
The main class of generator.
Definition: Epic.h:31
ServiceObjectRegistry * getServiceObjectRegistry() const
void printVersion() const
RandomSeedManager * getRandomSeedManager() const
void init(int argc, char **argv)
ModuleObjectFactory * getModuleObjectFactory() const
virtual ~Epic()
static Epic * getInstance()
void close()
Definition: ModuleObjectFactory.h:41
Manager for random number seeds.
Definition: RandomSeedManager.h:23
Registry to obtain pointer to a given service.
Definition: ServiceObjectRegistry.h:29