File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3434- [ Building and Installing ldmx-sw] ( developing/building/intro.md )
3535 - [ Shared Computing Clusting] ( developing/building/clusters.md )
3636 - [ Updating ldmx-sw] ( developing/building/updating.md )
37+ - [ Framework Structure] ( developing/framework.md )
3738- [ Transition to ldmx-sw v4] ( developing/transition-to-ldmx-sw-v4.md )
3839- [ Tracking Performance of ldmx-sw] ( developing/performance.md )
3940- [ Container-Software Compatibility] ( developing/compatibility.md )
Original file line number Diff line number Diff line change 1+ # ldmx-sw Framework Structure
2+
3+ ldmx-sw is organized into "modules" that contain related code, the ` Framework ` module
4+ is of particular importance since it defines the core processing interfaces and handles
5+ reading/writing data from/to the ROOT files.
6+
7+ ## Where is the ` main ` ?
8+ Many developers, especially those who are more familiar with C++, will want to know
9+ where the ` fire ` executable is defined.
10+ ` fire ` is defined within ` Framework/app/fire.cxx ` and this file reveals the overall
11+ flow of the program.
12+
13+ 1 . Configure - run the provided Python script and then extract the run configuration
14+ from the Python objects that were created when the script was run.
15+ 2 . Run - execute the configured run. The ` framework::Process ` class is the main object
16+ that handles the execution.
17+
18+ ## How does Python get run?
19+ We launch Python from within our C++ program by
20+ [ embedding Python] ( https://docs.python.org/3/extending/embedding.html ) .
21+ In the configuration area of ` Framework ` , you'll see may of these calls to Python's
22+ C interface (like ` Py_InitializeEx() ` for example).
You can’t perform that action at this time.
0 commit comments