@@ -57,6 +57,8 @@ set geometry_cases = ( \
5757 cells/EllipsoidCell.txt \
5858 cells/FibroblastCell.txt \
5959 cells/SphericalCell.txt \
60+ cells/HiC/Parameters.txt \
61+ cells/Neuron/Neuron.txt \
6062 other/generateRandomCylinders.txt \
6163 other/readBackRandomCylindres.txt )
6264
@@ -65,25 +67,48 @@ set process_cases = ( \
6567 ActiveChemistryRevised.txt \
6668 ActiveCustomizablePhysics.txt \
6769 G4DNAModelPerRegion.txt \
70+ GoldNanoParticle.txt \
6871 RemoveChemicalSpeciesInVolume.txt )
6972
7073set scorer_cases = ( \
7174 DBSCAN/DBSCAN.txt \
75+ Fricke/FrickeIRT.txt \
76+ IonizationDetail/IonizationDetailInRandomCylinders.txt \
77+ IRTGetGValue/TsIRTGvalue.txt \
78+ IRTInterTrack/TsIRTInterTrack.txt \
79+ IRTCummulative/TsIRTCummulative.txt \
80+ IRTTemperature/TemperatureExample_90C.txt \
7281 ProteinDataBank/PDB4DNA.txt \
7382 ParticleTuple/particleTuple.txt \
74- IonizationDetail/IonizationDetailInRandomCylinders.txt \
7583 SBSDamageToDNAPlasmid/FullDNADamageInPlasmid.txt \
7684 SBSDamageToDNAPlasmid/SSBandDSbWithDBSCAN.txt \
7785 SBSMoleculesAtATime/TsSpeciesAtTime.txt \
7886 SBSGetGValue/GvalueG4DNADefault.txt \
7987 SBSGetGValue/GvalueRevisedPhysicsChemistry.txt )
8088
89+ set green = ` tput setaf 2`
90+ set red = ` tput setaf 1`
91+ set reset = ` tput sgr0`
92+
93+ # --- Detect UTF-8 support and choose symbols ---
94+ if (` locale charmap` == " UTF-8" ) then
95+ set check = " ✅"
96+ set cross = " ❌"
97+ else
98+ set check = " [ Success ]"
99+ set cross = " [ FAIL ]"
100+ endif
101+
81102set exec_log = out
82103
104+ set start_time = ` date +%s`
83105echo " Running TOPAS-nBio demos using repository root: $repo_root "
84106
85107cd " $repo_root /examples/geometry"
86- echo " -- Geometry demos --"
108+ echo " "
109+ echo " ======================================"
110+ echo " ** Geometry demos **"
111+ echo " ======================================"
87112foreach case ($geometry_cases )
88113 set case_dir = $case :h
89114 set case_file = $case :t
@@ -95,21 +120,24 @@ foreach case ($geometry_cases)
95120 echo ' b:Ts/UseQt = "False"' >> run.txt
96121 echo ' b:Ts/PauseBeforeQuit = "False"' >> run.txt
97122 echo ' b:Gr/Enable = "False"' >> run.txt
98- echo " Running $case - run.txt "
123+ echo " 🚀 Running $case "
99124 topas run.txt >& ! $exec_log
100125 set matches = ` awk ' /Execution/ {count++} END {print count+0}' $exec_log `
101126 if (" $matches " == " 1" ) then
102- echo " --success-- $ case"
127+ printf " %s%s [ Success ]%s %s\n " " $green " " $check " " $reset " " $ case"
103128 else
104- echo " --failed -- $ case"
129+ printf " %s%s [ Fail ]%s %s\n " " $red " " $cross " " $reset " " $ case"
105130 endif
106- rm -f $exec_log run.txt * .xyz * .phsp * .header * .csv
131+ rm -f $exec_log run.txt * .xyz * .phsp * .header * .csv * .sdd
107132 popd > /dev/null
108133end
109134rm -f * .xyz * .phsp * .header * .csv $exec_log
110135
111136cd " $repo_root /examples/processes"
112- echo " -- Process demos --"
137+ echo " "
138+ echo " ======================================"
139+ echo " ** Process demos **"
140+ echo " ======================================"
113141foreach case ($process_cases )
114142 set case_dir = $case :h
115143 set case_file = $case :t
@@ -121,21 +149,24 @@ foreach case ($process_cases)
121149 echo ' b:Ts/UseQt = "False"' >> run.txt
122150 echo ' b:Ts/PauseBeforeQuit = "False"' >> run.txt
123151 echo ' b:Gr/Enable = "False"' >> run.txt
124- echo " Running $case - run.txt "
152+ echo " 🚀 Running $case "
125153 topas run.txt >& ! $exec_log
126154 set matches = ` awk ' /Execution/ {count++} END {print count+0}' $exec_log `
127155 if (" $matches " == " 1" ) then
128- echo " --success-- $ case"
156+ printf " %s%s [ Success ]%s %s\n " " $green " " $check " " $reset " " $ case"
129157 else
130- echo " --failed -- $ case"
158+ printf " %s%s [ Fail ]%s %s\n " " $red " " $cross " " $reset " " $ case"
131159 endif
132160 rm -f $exec_log run.txt
133161 popd > /dev/null
134162end
135163rm -f $exec_log
136164
137165cd " $repo_root /examples/scorers"
138- echo " -- Scorer demos --"
166+ echo " "
167+ echo " ======================================"
168+ echo " ** Scorer demos **"
169+ echo " ======================================"
139170foreach case ($scorer_cases )
140171 set case_dir = $case :h
141172 set case_file = $case :t
@@ -147,21 +178,27 @@ foreach case ($scorer_cases)
147178 echo ' b:Ts/UseQt = "False"' >> run.txt
148179 echo ' b:Ts/PauseBeforeQuit = "False"' >> run.txt
149180 echo ' b:Gr/Enable = "False"' >> run.txt
150- echo " Running $case - run.txt "
181+ echo " 🚀 Running $case "
151182 topas run.txt >& ! $exec_log
152183 set matches = ` awk ' /Execution/ {count++} END {print count+0}' $exec_log `
153184 if (" $matches " == " 1" ) then
154- echo " --success-- $ case"
185+ printf " %s%s [ Success ]%s %s\n " " $green " " $check " " $reset " " $ case"
155186 else
156- echo " --failed -- $ case"
187+ printf " %s%s [ Fail ]%s %s\n " " $red " " $cross " " $reset " " $ case"
157188 endif
158- rm -f $exec_log run.txt * .root * .phsp * .header * csv
189+ rm -f $exec_log run.txt * .root * .phsp * .header * . csv * .bin
159190 popd > /dev/null
160191end
161192rm -f * .root * .phsp * .header * csv $exec_log
162193
163194cd " $start_dir "
164195
196+ set end_time = ` date +%s`
197+ @ elapsed = $end_time - $start_time
198+
199+ printf " \n📊 Regression completed in %d seconds (%.2f minutes)\n" $elapsed ` echo " $elapsed / 60.0" | bc -l`
200+
165201if (! $_demo_had_nonomatch ) then
166202 unset nonomatch
167203endif
204+
0 commit comments