gsystem
Loading...
Searching...
No Matches
GSystemCADFactory Class Reference

Load a system from CAD assets (e.g. STL) whose definitions live in the sqlite database. More...

#include <systemCadFactory.h>

Public Member Functions

 GSystemFactory (const std::shared_ptr< GOptions > &g)
 Construct the factory with shared configuration.
 
- Public Member Functions inherited from GSystemFactory
 ~GSystemFactory () override=default
 
 GSystemFactory (const std::shared_ptr< GOptions > &g)
 Construct the factory with shared configuration.
 
void loadSystem (GSystem *system)
 Load a system by invoking the concrete factory steps.
 
virtual void closeSystem ()
 Factory cleanup hook.
 
void addPossibleFileLocation (const std::string &fl)
 Add a candidate directory for file searches.
 
- Public Member Functions inherited from GBase< GSystemFactory >
 GBase (const std::shared_ptr< GOptions > &gopt, std::string logger_name="")
 
 GBase (const std::shared_ptr< GLogger > &logger)
 
 GBase (const GBase &)=default
 
 GBase (GBase &&) noexcept=default
 
virtual ~GBase ()
 
GBaseoperator= (const GBase &)=default
 
GBaseoperator= (GBase &&) noexcept=default
 

Additional Inherited Members

- Protected Attributes inherited from GSystemFactory
std::vector< std::string > possibleLocationOfFiles
 List of candidate directories used by file-based factories.
 
- Protected Attributes inherited from GBase< GSystemFactory >
std::shared_ptr< GLoggerlog
 

Detailed Description

Geometry loading behavior:

  • The system file path is resolved against possibleLocationOfFiles to locate the mesh directory.
  • The directory is scanned for .stl and .ply files, indexed by filename stem.
  • The list of volumes to load - and their metadata (material, position, rotation, sensitivity, ...) - comes from the geometry table (rows matching experiment/system/variation/run). Only meshes whose stem matches a database row are imported; STL/PLY files present on disk but absent from the database are ignored. The mesh path is resolved against the directory and written into the volume description for the g4 CAD builder.

Definitions are authored in a single YAML/JSON file and uploaded with "gemc-sqlite -cad" (pygemc), which replaces the legacy clas12Tags cad_<variation>.gxml mechanism.

Note
Materials loading is currently empty for CAD-based systems.

Definition at line 26 of file systemCadFactory.h.

Member Function Documentation

◆ GSystemFactory()

GSystemFactory::GSystemFactory ( const std::shared_ptr< GOptions > & g)
inlineexplicit
Parameters
gShared options/configuration instance.

Definition at line 44 of file systemFactory.h.


The documentation for this class was generated from the following files: