LDMX Software
Parser.h
1#ifndef SIMCORE_GEO_GEOPARSER_H_
2#define SIMCORE_GEO_GEOPARSER_H_
3
4//---< C++ >---//
5#include <functional>
6
7//---< Framework >---//
8#include "Framework/Configure/Parameters.h"
9
10//---< SimCore >---//
11#include "SimCore/ConditionsInterface.h"
12
13//---< Geant4 >---//
14#include "G4VPhysicalVolume.hh"
15
16namespace simcore {
17namespace geo {
18
25class Parser {
26 public:
33 virtual G4VPhysicalVolume *GetWorldVolume() = 0;
34
43 virtual std::string getDetectorName() = 0;
44
48 virtual void read() = 0;
49
50 virtual ~Parser() = default;
51
52}; // Parser
53
54using createFunc =
55 std::function<Parser *(framework::config::Parameters &parameters,
57
58} // namespace geo
59} // namespace simcore
60
61#endif // SIMCORE_GEO_GEOPARSER_H_
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
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:25
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.