Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /**
0002 
0003 ::
0004 
0005     EMM=0,63 SGeoConfigTest
0006 
0007     TEST=ELVSelection ~/o/sysrap/tests/SGeoConfigTest.sh
0008 
0009 **/
0010 
0011 
0012 #include "ssys.h"
0013 #include "SGeoConfig.hh"
0014 #include "SName.h"
0015 
0016 struct SGeoConfigTest
0017 {
0018     static int Arglist();
0019     static int CXSkipLV();
0020     static int EMM();
0021 
0022     static int ELVString();
0023     static int ELVSelection();
0024     static int ELV();
0025 
0026     static int Main();
0027 };
0028 
0029 
0030 inline int SGeoConfigTest::Arglist()
0031 {
0032     std::vector<std::string>* arglist = SGeoConfig::Arglist() ;
0033     if(arglist == nullptr) return 0 ;
0034     std::cout << "[SGeoConfigTest::Arglist " << arglist->size() << "\n" ;
0035     for(unsigned i=0 ; i < arglist->size() ; i++) std::cout << (*arglist)[i] << std::endl ;
0036     std::cout << "]SGeoConfigTest::Arglist " << arglist->size() << "\n" ;
0037     return 0 ;
0038 }
0039 
0040 inline int SGeoConfigTest::CXSkipLV()
0041 {
0042     if(SGeoConfig::CXSkipLV() == nullptr) return 0 ;
0043     SName* id = SName::GEOMLoad();
0044     int num_name = id->getNumName() ;
0045     std::cout << " num_name " << num_name << "\n" ;
0046     for(int i=0 ; i < num_name ; i++)
0047     {
0048         const char* name = id->getName(i);
0049         std::cout
0050             << std::setw(4) << i
0051             << " SGeoConfig::IsCXSKipLV " << SGeoConfig::IsCXSkipLV(i)
0052             << " name " << name
0053             << std::endl
0054             ;
0055     }
0056     return 0;
0057 }
0058 
0059 inline int SGeoConfigTest::EMM()
0060 {
0061     std::cout << SGeoConfig::DescEMM() ;
0062     return 0;
0063 }
0064 
0065 
0066 inline int SGeoConfigTest::ELVString()
0067 {
0068     SName* id = SName::GEOMLoad();
0069     const char* elv = SGeoConfig::ELVString(id) ;
0070     std::cout
0071         << "[SGeoConfigTest:ELVString\n"
0072         << " elv " << ( elv ? elv : "-" )
0073         << "]SGeoConfigTest:ELVString\n"
0074         ;
0075 
0076     return 0 ;
0077 }
0078 
0079 
0080 
0081 inline int SGeoConfigTest::ELVSelection()
0082 {
0083     SName* id = SName::GEOMLoad();
0084     const char* elv = SGeoConfig::ELVSelection(id) ;
0085     std::cout
0086         << "[SGeoConfigTest:ELVSelection\n"
0087         << " elv [" << ( elv ? elv : "-" ) << "] "
0088         << "]SGeoConfigTest:ELVSelection\n"
0089         ;
0090 
0091     return 0 ;
0092 }
0093 
0094 inline int SGeoConfigTest::ELV()
0095 {
0096     SName* id = SName::GEOMLoad();
0097     const SBitSet* elv = id ? SGeoConfig::ELV(id) : nullptr ;
0098     std::cout
0099          << "[SGeoConfigTest:ELV\n"
0100          << " id  " << ( id ? "YES" : "NO " )
0101          << " elv " << ( elv ? "YES" : "NO " )
0102          << "]SGeoConfigTest:ELV\n"
0103          ;
0104 
0105     return 0 ;
0106 }
0107 
0108 inline int SGeoConfigTest::Main()
0109 {
0110     const char* TEST = ssys::getenvvar("TEST","ELV");
0111     bool ALL = 0 == strcmp("ALL", TEST) ;
0112 
0113     int rc = 0 ;
0114     if(ALL||0==strcmp(TEST,"Arglist"))      rc += Arglist();
0115     if(ALL||0==strcmp(TEST,"CXSkipLV"))     rc += CXSkipLV();
0116     if(ALL||0==strcmp(TEST,"EMM"))          rc += EMM();
0117     if(ALL||0==strcmp(TEST,"ELVString"))    rc += ELVString();
0118     if(ALL||0==strcmp(TEST,"ELVSelection")) rc += ELVSelection();
0119     if(ALL||0==strcmp(TEST,"ELV"))          rc += ELV();
0120 
0121     return rc ;
0122 }
0123 
0124 int main(){ return SGeoConfigTest::Main(); }