Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:42

0001 #pragma once
0002 /**
0003 SOpticksResource.hh : AIMING TO ELIMINATE THIS : MOVING TO SIMPLER spath.h WITH MORE EXPLICIT PATHS 
0004 ==============================================================================================================
0005 
0006 Currently this straddles old and new workflows.
0007 
0008 Is this abstraction layer still needed ? 
0009 ------------------------------------------
0010 
0011 NOPE : IN PROCESS OF REMOVING  : BUT MAYBE CAN SLIM DOWN DRASTICALLY::
0012 
0013     epsilon:tests blyth$ opticks-fl SOpticksResource.hh 
0014 
0015     ./CSG/tests/CSGIntersectSolidTest.cc
0016     ./CSG/tests/CSGGeometryFromGeocacheTest.cc
0017     ./CSG/CSGFoundry.cc
0018 
0019     ./u4/U4VolumeMaker.cc   ## uses GEOMWrap, GDMLPath, ... 
0020     ./g4cx/G4CXOpticks.cc   ## GDMLPath methods 
0021 
0022 
0023     ## DISCOUNTED
0024     ./sysrap/SOpticksResource.hh
0025     ./sysrap/CMakeLists.txt
0026     ./sysrap/tests/SOpticksResourceTest.cc
0027     ./sysrap/SOpticksResource.cc
0028     ./sysrap/SPath.cc
0029     ./boostrap/BOpticksResource.cc
0030 
0031     epsilon:opticks blyth$ 
0032 
0033 
0034 
0035 
0036 **/
0037 
0038 
0039 #include <string>
0040 #include "plog/Severity.h"
0041 #include "SYSRAP_API_EXPORT.hh"
0042 
0043 struct NP ; 
0044 
0045 struct SYSRAP_API SOpticksResource
0046 {
0047     static const plog::Severity LEVEL ; 
0048 
0049     static const char* MakeUserDir(const char* sub) ; 
0050     static const char* GEOCACHE_PREFIX_KEY  ; 
0051     static const char* RNGCACHE_PREFIX_KEY  ; 
0052     static const char* USERCACHE_PREFIX_KEY  ; 
0053     static const char* PRECOOKED_PREFIX_KEY  ; 
0054 
0055     static const char* ResolveUserPrefix(const char* envkey, bool envset); 
0056     static const char* ResolveGeoCachePrefix();
0057     static const char* ResolveRngCachePrefix();
0058     static const char* ResolveUserCachePrefix();
0059     static const char* ResolvePrecookedPrefix();
0060 
0061     static const char* GeocacheDir();
0062     static const char* GeocacheScriptPath(); 
0063 
0064     static const char* RNGCacheDir();
0065     static const char* RNGDir();
0066     static const char* RuncacheDir();
0067     static const char* PrecookedDir();
0068 
0069     static const char* ExecutableName(); 
0070     static const char* ExecutableName_GEOM(); 
0071 
0072     static const char* GEOMFromEnv(const char* fallback); 
0073     static const char* _GEOM ; 
0074     static const char* GEOM(const char* fallback=nullptr); 
0075     static void  SetGEOM(const char* geom); 
0076     
0077     static const char* DefaultOutputDir();      // eg /tmp/blyth/opticks/GEOM/acyl/ExecutableName
0078     static const char* DefaultGeometryBase();   // eg /tmp/blyth/opticks/GEOM 
0079     static const char* DefaultGeometryDir();    // eg /tmp/blyth/opticks/GEOM/acyl
0080     static const char* UserGEOMDir();           // eg $HOME/.opticks/GEOM/$GEOM 
0081 
0082 
0083     static std::string Desc_DefaultOutputDir();  
0084   
0085     static const char* CFBASE_ ;
0086     static const char* CFBase();
0087     static const char* CFBaseAlt();
0088     static const char* CFBaseFromGEOM();
0089     static const char* GDMLPathFromGEOM(const char* _geom=nullptr); 
0090     static const char* WrapLVForName(const char* name); 
0091 
0092     static const char* SearchCFBase(const char* dir); 
0093     static constexpr const char* SearchCFBase_RELF = "CSGFoundry/solid.npy" ; 
0094 
0095     static const char* SomeGDMLPath_ ; 
0096     static const char* SomeGDMLPath(); 
0097 
0098     static const char* OpticksGDMLPath_ ; 
0099     static const char* OpticksGDMLPath(); 
0100 
0101     //static const char* GDMLPath(); 
0102     //static const char* GDMLPath(const char* geom); 
0103 
0104     static const char* GEOMSub(const char* _geom=nullptr); 
0105     static const char* GEOMWrap(const char* _geom=nullptr); 
0106     static const char* GEOMList(const char* _geom=nullptr);
0107 
0108     static const char* GEOM_Aux(const char* geom, const char* aux); 
0109 
0110 
0111     static std::string Dump(); 
0112 
0113     static const char* KEYS ; 
0114     static const char* Get(const char* key); 
0115     static std::string Desc() ; 
0116 
0117 };
0118 
0119 
0120