HerdSoftware  0.4.0
GGSMCGenReader.h
Go to the documentation of this file.
1 /*
2  * GGSMCGenReader.h
3  *
4  * Created on: 26 May 2021
5  * Author: Valerio Formato
6  */
7 
10 #ifndef HERD_GGSMCGENREADER_H_
11 #define HERD_GGSMCGENREADER_H_
12 
13 #ifndef GGSSMARTLOG_H_
14 #define HERD_GGSMCGENREADER_H_UNDEF_LOGGING
15 #endif
16 
17 // GGS headers
18 #include "montecarlo/readers/GGSTRootReader.h"
19 
20 #ifdef HERD_GGSMCGENREADER_H_UNDEF_LOGGING
21 // Remove the definitions of GGS output macros (would conflict with the same macros defined in EventAnalysis)
22 // We only do this if GGSSmartLog.h is being parsed in this TU, otherwise there would be nothing to undef
23 // (or we could even be undefining the EA macros)
24 #undef COUT
25 #undef CCOUT
26 #undef ENDL
27 #endif
28 
29 // EA headers
30 #include "core/ObjectWrapper.h"
31 #include "core/RetrievalResult.h"
32 #include "utils/Memory.h"
33 
34 // HerdSoftware headers
37 
38 // c++ headers
39 #include <string>
40 
41 namespace Herd::Readers {
42 // clang-format off
48 // clang-format on
50 public:
51  GGSMCGenReader(std::shared_ptr<GGSTRootReader> ggsReader) : m_ggsReader{ggsReader} {};
52 
53  bool IsGGSMCGenAvailable();
54  EA::RetrievalResult GetGGSMCGen(EA::ObjectWrapper &wrapper);
55 
56 private:
57  std::shared_ptr<GGSTRootReader> m_ggsReader;
58 
60 
61  bool m_mcGenRead = false;
62 };
63 } // namespace Herd::Readers
64 
65 #endif
MCGenerationInfo.h
Herd::MCGenerationInfo
Information about particle generation in MC simulation.
Definition: MCGenerationInfo.h:27
Herd::Readers::GGSMCGenReader::IsGGSMCGenAvailable
bool IsGGSMCGenAvailable()
Definition: GGSMCGenReader.cpp:5
Herd::Readers::GGSMCGenReader::m_mcGenRead
bool m_mcGenRead
Definition: GGSMCGenReader.h:61
Herd::Readers::GGSMCGenReader::GGSMCGenReader
GGSMCGenReader(std::shared_ptr< GGSTRootReader > ggsReader)
Definition: GGSMCGenReader.h:51
Herd::Readers
Definition: GGSCaloHitsReader.h:43
Herd::Readers::GGSMCGenReader::m_ggsReader
std::shared_ptr< GGSTRootReader > m_ggsReader
Definition: GGSMCGenReader.h:57
Herd::Readers::GGSMCGenReader::m_mcGenInfo
MCGenerationInfo m_mcGenInfo
Definition: GGSMCGenReader.h:59
DefaultValues.h
Herd::Readers::GGSMCGenReader
FitGeoParams reader class.
Definition: GGSMCGenReader.h:49
Herd::Readers::GGSMCGenReader::GetGGSMCGen
EA::RetrievalResult GetGGSMCGen(EA::ObjectWrapper &wrapper)
Definition: GGSMCGenReader.cpp:25