Index: fact/tools/rootmacros/zerosearch.C
===================================================================
--- fact/tools/rootmacros/zerosearch.C	(revision 15118)
+++ fact/tools/rootmacros/zerosearch.C	(revision 15119)
@@ -441,5 +441,5 @@
     for (reg = regions.begin() ; reg < regions.end() ; reg++){
         counter = 0;
-        // check if linear falling edge is completely in pipeline
+        // check if linear rising edge is completely in pipeline
         // if not --> delete
         if ( reg->maxPos - end < 0 )
@@ -567,2 +567,42 @@
     return regions.size();
 }
+
+size_t GetMaxPositions(
+    vector<Region>  &regions,
+    vector<int>     &maxPositions,
+    int VerbosityLevel)
+{
+    maxPositions.clear();
+    vector<Region>::iterator it = regions.begin();
+    while( it != regions.end() )
+    {
+        maxPositions.push_back(it->maxPos);
+        if (VerbosityLevel > 3){
+            cout << "getting maxPos@ " << it->maxPos << "\t";
+            cout << endl;
+        }
+        ++it;
+    }
+
+    return regions.size();
+}
+
+size_t GetEdgePositions(
+    vector<Region>  &regions,
+    vector<int>     &edgePos,
+    int VerbosityLevel)
+{
+    maxPositions.clear();
+    vector<Region>::iterator it = regions.begin();
+    while( it != regions.end() )
+    {
+        maxPositions.push_back(it->halfRisingEdgePos);
+        if (VerbosityLevel > 3){
+            cout << "getting maxPos@ " << it->halfRisingEdgePos << "\t";
+            cout << endl;
+        }
+        ++it;
+    }
+
+    return regions.size();
+}
Index: fact/tools/rootmacros/zerosearch.h
===================================================================
--- fact/tools/rootmacros/zerosearch.h	(revision 15118)
+++ fact/tools/rootmacros/zerosearch.h	(revision 15119)
@@ -73,4 +73,18 @@
     int VerbosityLevel = 1);
 
+// Get the derived arrival times in terms of the position of selected pulses
+// position of the peak
+size_t GetMaxPositions(
+    vector<Region>  &regions,
+    vector<int>     &maxPositions,
+    int VerbosityLevel);
+
+// Get the derived arrival times in terms of the position of selected pulses
+// rising edges
+size_t GetEdgePositions(
+    vector<Region>  &regions,
+    vector<int>     &edgePos,
+    int VerbosityLevel);
+
 
 #endif
