Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /npsim/src/geocad/tests/unit_partial_tree.cxx was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 #include <iostream>
0002 
0003 #include "src/TOCCToStep.h"
0004 #include "TGeoManager.h"
0005 #include "TGeoMaterial.h"
0006 #include "TGeoMedium.h"
0007 #include "TGeoVolume.h"
0008 
0009 namespace {
0010 TGeoManager* make_test_geometry() {
0011   auto* geom = new TGeoManager("npdet_geo_test", "npdet geocad unit test");
0012   auto* mat  = new TGeoMaterial("Vacuum", 0, 0, 0);
0013   auto* med  = new TGeoMedium("Vacuum", 1, mat);
0014 
0015   auto* top   = geom->MakeBox("top", med, 100., 100., 100.);
0016   auto* child = geom->MakeBox("child", med, 10., 10., 10.);
0017   top->AddNode(child, 1);
0018   geom->SetTopVolume(top);
0019   geom->CloseGeometry();
0020   return geom;
0021 }
0022 } // namespace
0023 
0024 int main() {
0025   auto* geom = make_test_geometry();
0026 
0027   TOCCToStep converter;
0028   converter.OCCShapeCreation(geom, 1.0);
0029 
0030   const bool found_child = converter.OCCPartialTreeCreation(geom, "child", 2);
0031   const bool found_fake  = converter.OCCPartialTreeCreation(geom, "does_not_exist", 2);
0032 
0033   delete geom;
0034 
0035   if (!found_child || found_fake) {
0036     std::cerr << "Unexpected partial tree lookup results\n";
0037     return 1;
0038   }
0039 
0040   return 0;
0041 }