From 5c48fd699f60a11614565a3365abbd06e8b47b26 Mon Sep 17 00:00:00 2001 From: James Szalkie Date: Thu, 2 Apr 2026 15:18:38 -0400 Subject: [PATCH] Vis enabled --- Armory/anasenMS.cpp | 43 ++++++++++--------------------------------- 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/Armory/anasenMS.cpp b/Armory/anasenMS.cpp index c3e7129..af0427b 100644 --- a/Armory/anasenMS.cpp +++ b/Armory/anasenMS.cpp @@ -8,12 +8,9 @@ #include "TBenchmark.h" // timing measurement #include "TGraph.h" // for energy loss interpolation #include -#include "TApplication.h" // ROOT app loop for TEve -#include "TEveManager.h" -#include "TEvePointSet.h" +#include "TApplication.h" // ROOT app loop #include "ClassTransfer.h" // Reaction kinematics and MC event generation #include "ClassAnasen.h" // ANASEN detector model classes (SX3, PW, etc.) -#include "vis_helpers.h" // Visualization utilities for TEve //======== Generate light particle based on reaction // calculate real and reconstructed tracks and Q-value uncertainty @@ -87,13 +84,6 @@ int main(int argc, char **argv){ TApplication *app = nullptr; if(enableVis){ app = new TApplication("anasenVis", &argc, argv); - TEveManager::Create(); - TEvePointSet* pts = new TEvePointSet("hits"); - pts->SetMarkerStyle(20); - pts->SetMarkerSize(1.4); - pts->SetMarkerColor(kRed); - gEve->AddElement(pts); - SetVisPointSet(pts); } // create detector representation in memory @@ -107,14 +97,6 @@ int main(int argc, char **argv){ TFile * saveFile = new TFile(saveFileName, "recreate"); TTree * tree = new TTree("tree", "tree"); TTree* tree2 = tree->CloneTree(0); // for 2D histograms or alternative data structure if needed - TTree* visTree = nullptr; - std::vector visX, visY, visZ; - if(enableVis){ - visTree = new TTree("visTree", "vis points"); - visTree->Branch("x", &visX); - visTree->Branch("y", &visY); - visTree->Branch("z", &visZ); - } // beam and CM variables saved in tree double KEA; @@ -275,15 +257,6 @@ int main(int argc, char **argv){ sx3Y = hitPos.Y(); sx3Z = hitPos.Z(); - // visualization point list - if(enableVis) { - visX.clear(); visY.clear(); visZ.clear(); - visX.push_back(sx3X); - visY.push_back(sx3Y); - visZ.push_back(sx3Z); - PushEventAndRecord(visX, visY, visZ, visTree); - } - // fill tree with original data before energy loss tree->Fill(); @@ -360,21 +333,25 @@ int main(int argc, char **argv){ // write results to ROOT file and close tree->Write(); tree2->Write(); - if(visTree) visTree->Write(); int count = tree->GetEntries(); int count2 = tree2->GetEntries(); saveFile->Close(); printf("=============== done. saved as %s. tree entries: %d, tree2 entries: %d\n", saveFileName.Data(), count, count2); + if(enableVis){ + printf("Displaying geometry via ANASEN::DrawAnasen()\n"); + anasen->DrawAnasen(); + anasen->DrawDeducedTrack(TVector3(sx3X, sx3Y, sx3Z), anodeID[0], cathodeID[0]); + if(app){ + app->Run(); + } + } + delete anasen; delete elossLight; delete elossHeavy; - if(enableVis && app){ - printf("Entering TEve GUI event loop (close window to finish)\n"); - app->Run(); - } return 0;