Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:48:58

0001 #pragma once
0002 /**
0003 CSGSimtrace.hh : Geometry 2D Cross Sections
0004 ==============================================
0005 
0006 Canonical usage from tests/CSGSimtraceTest.cc
0007 
0008 The heart of this is CSGQuery on CPU intersect functionality using the csg headers
0009 
0010 
0011 This is a very low level simtrace test that does not use
0012 gensteps, which causes SEvt to issue ignorable warnings.
0013 TODO: avoid the runtime warning from SEvt::addGenstep
0014 
0015 
0016 **/
0017 
0018 #include "plog/Severity.h"
0019 #include <vector>
0020 
0021 #ifdef WITH_OLD_FRAME
0022 #include "sframe.h"
0023 #else
0024 #include "sfr.h"
0025 #endif
0026 
0027 struct CSGFoundry ;
0028 struct SEvt ;
0029 struct SSim ;
0030 struct CSGQuery ;
0031 struct CSGDraw ;
0032 struct NP ;
0033 struct quad4 ;
0034 
0035 #include "CSG_API_EXPORT.hh"
0036 
0037 struct CSG_API CSGSimtrace
0038 {
0039     static const plog::Severity LEVEL ;
0040     static int Preinit();
0041 
0042     int prc ;
0043     const char* geom ;
0044     SSim* sim ;
0045     const CSGFoundry* fd ;
0046     SEvt* sev ;
0047     const char* outdir ;
0048 
0049 #ifdef WITH_OLD_FRAME
0050     sframe frame = {} ;
0051 #else
0052     sfr fr = {} ;
0053 #endif
0054     CSGQuery* q ;
0055     CSGDraw* d ;
0056 
0057     const char* SELECTION ;
0058     std::vector<int>* selection ;
0059     int num_selection ;
0060     NP* selection_simtrace ;
0061     quad4* qss ;
0062 
0063     CSGSimtrace();
0064     void init();
0065 
0066     int simtrace();
0067     int simtrace_all();
0068     int simtrace_selection();
0069 
0070 };
0071 
0072 
0073 
0074