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 }
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 }