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
14//---< SimCore >---//
15#include "SimCore/ConditionsInterface.h"
16
17namespace simcore::geo {
18
31 public:
37 AuxInfoReader(G4GDMLParser *parser, const framework::config::Parameters &ps);
38
42 virtual ~AuxInfoReader();
43
47 void readGlobalAuxInfo();
48
53
59
60 private:
66 void createMagneticField(const G4String &name,
67 const G4GDMLAuxListType *auxInfoList);
68
74 void createRegion(const G4String &name, const G4GDMLAuxListType *auxInfoList);
75
81 void createVisAttributes(const G4String &name,
82 const G4GDMLAuxListType *auxInfoList);
83
89 void createDetectorHeader(const G4String &detectorVersion,
90 const G4GDMLAuxListType *auxInfoList);
91
92 private:
96 G4GDMLParser *parser_;
97
101 G4GDMLEvaluator *eval_;
102
107};
108
109} // namespace simcore::geo
110
111#endif
Class that defines a header with detector information.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
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.
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 * detectorHeader_
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.