LDMX Software
Parser.h
1#ifndef SIMCORE_GEO_GEOPARSER_H_
2#define SIMCORE_GEO_GEOPARSER_H_
3
4//---< Framework >---//
5#include "Framework/Configure/Parameters.h"
6#include "Framework/Factory.h"
7
8//---< SimCore >---//
9#include "SimCore/ConditionsInterface.h"
10
11//---< Geant4 >---//
12#include "G4VPhysicalVolume.hh"
13
14namespace simcore {
15namespace geo {
16
23class Parser {
24 public:
31 virtual G4VPhysicalVolume *GetWorldVolume() = 0;
32
41 virtual std::string getDetectorName() = 0;
42
46 virtual void read() = 0;
47
48 virtual ~Parser() = default;
49
50 DECLARE_FACTORY(Parser, std::shared_ptr<Parser>,
53}; // Parser
54
55} // namespace geo
56} // namespace simcore
57
58#endif // SIMCORE_GEO_GEOPARSER_H_
Header holding Factory class and supporting macros.
#define DECLARE_FACTORY(...)
This macro is used in the public portion of your prototype class declaration.
Definition Factory.h:376
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
Handle to the conditions system, provided at construction to classes which require it.
Interface for a parser used to load a geometry into Geant4.
Definition Parser.h:23
virtual G4VPhysicalVolume * GetWorldVolume()=0
Pure virtual method used to retrieve the G4VPhysicalVolume associated with the most top-level (world)...
virtual void read()=0
Parse the detector geometry and read it into memory.
virtual std::string getDetectorName()=0
Get the name of the parsed detector.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...