LDMX Software
AuxInfoReader.h
1
2#ifndef SIMCORE_GEO_AUXINFOREADER_H
3#define SIMCORE_GEO_AUXINFOREADER_H
4
5//---< Geant4 >---//
6#include "G4GDMLParser.hh"
7
8//---< DetDescr >---//
10
11//---< Framework >---//
12#include "Framework/Configure/Parameters.h"
13
14namespace simcore::geo {
15
28 public:
34 AuxInfoReader(G4GDMLParser *parser, const framework::config::Parameters &ps);
35
39 virtual ~AuxInfoReader();
40
44 void readGlobalAuxInfo();
45
50
56
57 private:
63 void createMagneticField(const G4String &name,
64 const G4GDMLAuxListType *auxInfoList);
65
71 void createRegion(const G4String &name, const G4GDMLAuxListType *auxInfoList);
72
78 void createVisAttributes(const G4String &name,
79 const G4GDMLAuxListType *auxInfoList);
80
86 void createDetectorHeader(const G4String &detectorVersion,
87 const G4GDMLAuxListType *auxInfoList);
88
89 private:
93 G4GDMLParser *parser_;
94
98 G4GDMLEvaluator *eval_;
99
104};
105
106} // namespace simcore::geo
107
108#endif
Class that defines a header with detector information.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
Defines detector header information.
Reads auxiliary information from GDML userinfo block.
void createDetectorHeader(const G4String &detectorVersion, const G4GDMLAuxListType *auxInfoList)
Create the detector header from the global auxinfo.
ldmx::DetectorHeader * getDetectorHeader()
Get the detector header that was created from the userinfo block.
virtual ~AuxInfoReader()
Class destructor.
void assignAuxInfoToVolumes()
Assign auxiliary info to volumes such as sensitive detectors.
void readGlobalAuxInfo()
Read the global auxiliary information from the auxinfo block.
AuxInfoReader(G4GDMLParser *parser, const framework::config::Parameters &ps)
Class constructor.
void createVisAttributes(const G4String &name, const G4GDMLAuxListType *auxInfoList)
Create visualization attributes from GDML data.
G4GDMLEvaluator * eval_
The GDML expression evaluator.
G4GDMLParser * parser_
The GDML parser.
ldmx::DetectorHeader * detector_header_
Detector header with name and version.
void createMagneticField(const G4String &name, const G4GDMLAuxListType *auxInfoList)
Create a magnetic field from GDML data.
void createRegion(const G4String &name, const G4GDMLAuxListType *auxInfoList)
Create a detector region from GDML data.