Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #pragma once
0002 /**
0003 SCenterExtentGenstep.hh : TODO REPLACE ALL USE OF THIS WITH SFrameGenstep : THAT MEANS PYTHON TOO
0004 ===================================================================================================
0005 
0006 NB this was demoted from extg4/X4Intersect as its all generally applicable 
0007 and hence belongs at a lower level 
0008 
0009 Used from::
0010 
0011    CSG/CSGGeometry.cc
0012    extg4/X4Intersect.cc
0013 
0014 HMM: compare this with CSG/CSGGenstep and consolidate to avoid duplication 
0015 
0016 * CSG/CSGGenstep has been removed from the build and will be deleted
0017 * TODO: compare SCenterExtentGenstep to SFrameGenstep and consolidate
0018 
0019   * probably duplication arose from separate dev for Geant4 and Opticks sides
0020 
0021 **/
0022 
0023 struct NP ; 
0024 struct quad6 ; 
0025 struct float4 ; 
0026 template <typename T> struct Tran ;
0027 
0028 #include <vector>
0029 #include "plog/Severity.h"
0030 #include "SYSRAP_API_EXPORT.hh"
0031 
0032 
0033 
0034 struct SYSRAP_API SCenterExtentGenstep
0035 {
0036     static const char* BASE ; 
0037     static const plog::Severity LEVEL ; 
0038 
0039     SCenterExtentGenstep(const float4* ce_=nullptr); 
0040     void init(); 
0041     const char* desc() const ; 
0042     void save(const char* dir) const ; 
0043     void save() const ; 
0044 
0045     void save_vec(const char* dir, const char* name, const std::vector<quad4>& vv ) const ; 
0046 
0047     template<typename T> void set_meta(const char* key, T value ) ; 
0048 
0049 
0050     NP*    gs ;         // not const as need to externally set the meta 
0051     float  gridscale ;   
0052 
0053     quad4* peta ; 
0054     bool   dump ; 
0055     float4 ce ;
0056 
0057     std::vector<int> cegs ; 
0058     int nx ; 
0059     int ny ; 
0060     int nz ; 
0061 
0062     std::vector<int> override_ce ;   
0063 
0064     std::vector<quad4> pp ;
0065     std::vector<quad4> ii ;
0066 
0067 };
0068 
0069 
0070