File indexing completed on 2026-04-09 07:48:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "scuda.h"
0012 #include "squad.h"
0013 #include "sqat4.h"
0014
0015 #ifdef WITH_OLD_FRAME
0016 #include "sframe.h"
0017 #else
0018 #include "sfr.h"
0019 #endif
0020
0021 #include "stree.h"
0022 #include "ssys.h"
0023 #include "SSim.hh"
0024 #include "SEvt.hh"
0025 #include "OPTICKS_LOG.hh"
0026 #include "CSGFoundry.h"
0027
0028 struct CSGFoundry_getFrame_Test
0029 {
0030 const CSGFoundry* fd ;
0031 const stree* tree ;
0032
0033 #ifdef WITH_OLD_FRAME
0034 sframe fr = {} ;
0035 #else
0036 sfr fr = {} ;
0037 #endif
0038
0039 CSGFoundry_getFrame_Test();
0040
0041 int getFrameE();
0042 int save();
0043 int InputPhoton();
0044 int main();
0045 };
0046
0047 inline CSGFoundry_getFrame_Test::CSGFoundry_getFrame_Test()
0048 :
0049 fd(CSGFoundry::Load()),
0050 tree(fd->getTree())
0051 {
0052 std::cout << " fd.brief " << fd->brief() << std::endl ;
0053 std::cout << " fd.desc " << fd->desc() << std::endl ;
0054 }
0055
0056 inline int CSGFoundry_getFrame_Test::getFrameE()
0057 {
0058 std::cout << "[ fd->getFrameE " << std::endl ;
0059
0060 #ifdef WITH_OLD_FRAME
0061 fr = fd->getFrameE() ;
0062 #else
0063 fr = tree->get_frame_moi();
0064 #endif
0065 std::cout << "] fd->getFrameE " << std::endl ;
0066
0067 int INST = ssys::getenvint("INST",-1) ;
0068 if(INST > -1) std::cout << "INST" << INST << std::endl << fd->descInstance(INST) << std::endl ;
0069
0070 std::cout << "[ fr " << std::endl << fr << std::endl << " ] fr " << std::endl ;
0071
0072 return 0 ;
0073 }
0074
0075 inline int CSGFoundry_getFrame_Test::save()
0076 {
0077 std::cout << " [ fr.save " << std::endl ;
0078 fr.save("$FOLD");
0079 std::cout << " ] fr.save " << std::endl ;
0080
0081 #ifdef WITH_OLD_FRAME
0082 std::cout << " [ fr.save_extras " << std::endl ;
0083 fr.save_extras("$FOLD");
0084 std::cout << " ] fr.save_extras " << std::endl ;
0085 #endif
0086
0087 return 0 ;
0088 }
0089
0090
0091 inline int CSGFoundry_getFrame_Test::InputPhoton()
0092 {
0093 SEvt* evt = SEvt::Create(0) ;
0094
0095 NP* ip = evt->getInputPhoton_();
0096 if(ip == nullptr) return 0 ;
0097
0098 NP* ipt0 = fr.transform_photon_m2w(ip, false) ;
0099 NP* ipt1 = fr.transform_photon_m2w(ip, true ) ;
0100
0101 std::cout << " ip " << ( ip ? ip->sstr() : "-" ) << std::endl ;
0102 std::cout << " ipt0 " << ( ipt0 ? ipt0->sstr() : "-" ) << std::endl ;
0103 std::cout << " ipt1 " << ( ipt1 ? ipt1->sstr() : "-" ) << std::endl ;
0104
0105 ip->save("$FOLD/ip.npy");
0106 ipt0->save("$FOLD/ipt0.npy");
0107 ipt1->save("$FOLD/ipt1.npy");
0108
0109 #ifdef WITH_OLD_FRAME
0110 evt->setFrame(fr);
0111 #else
0112 evt->setFr(fr);
0113 #endif
0114
0115
0116 NP* ipt2 = evt->getInputPhoton() ;
0117 ipt2->save("$FOLD/ipt2.npy");
0118
0119 return 0 ;
0120 }
0121
0122 inline int CSGFoundry_getFrame_Test::main()
0123 {
0124 const char* TEST = ssys::getenvvar("TEST", "getFrameE");
0125 int rc = 0 ;
0126 if(strcmp(TEST,"getFrameE")==0)
0127 {
0128 rc += getFrameE();
0129 }
0130 else if(strcmp(TEST,"save")==0)
0131 {
0132 rc += getFrameE();
0133 rc += save();
0134 }
0135 else if(strcmp(TEST,"InputPhoton")==0)
0136 {
0137 rc += getFrameE();
0138 rc += InputPhoton();
0139 }
0140 return rc ;
0141 }
0142
0143
0144 int main(int argc, char** argv)
0145 {
0146 OPTICKS_LOG(argc, argv);
0147 CSGFoundry_getFrame_Test test ;
0148 return test.main() ;
0149 }
0150