From 5a466be57031bbf1cfae406ba19edbe671173cd1 Mon Sep 17 00:00:00 2001
From: Dinyar Rabady <dinyar@cern.ch>
Date: Thu, 27 Oct 2022 18:29:44 +0200
Subject: [PATCH] Micro optimisations

---
 src/processor.cc | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/processor.cc b/src/processor.cc
index d1e51856..42cb0414 100644
--- a/src/processor.cc
+++ b/src/processor.cc
@@ -132,8 +132,8 @@ StreamProcessor::ProcessOrbitHeader(char *rd_ptr) {
 // Goes through orbit worth of data and fills the output memory with the calo
 // data corresponding to the non-empty bunchcrossings, as marked in bx_vect
 StreamProcessor::fillOrbitMetadata
-StreamProcessor::FillOrbitCalo(std::vector<unsigned int> &bx_vect, char *rd_ptr,
-                               char *wr_ptr) {
+StreamProcessor::FillOrbitCalo(const std::vector<unsigned int> &bx_vect,
+                               char *rd_ptr, char *wr_ptr) {
   std::pair<uint32_t, bool> orbit_header = std::pair<uint32_t, bool>{
       ProcessOrbitHeader(rd_ptr)}; //.second is the warning test enable bit
   rd_ptr += 32;                    // +32 to account for orbit header
@@ -149,7 +149,7 @@ StreamProcessor::FillOrbitCalo(std::vector<unsigned int> &bx_vect, char *rd_ptr,
     uint32_t bx = uint32_t{bx_vect[relbx]};
     uint32_t orbit_ = uint32_t{orbit_header.first};
     if (bx > 3554) {
-      orbit_--;
+      --orbit_;
     } // fix for the fact that bx 3555 - 3564 are from the previous orbit
     uint32_t header =
         uint32_t{orbit_header.second}; // header can be added to later
@@ -246,8 +246,8 @@ uint32_t StreamProcessor::FillBril(char *rd_ptr, char *wr_ptr, char *end_ptr) {
 // Goes through orbit worth of data and fills the output memory with the muons
 // corresponding to the non-empty bunchcrossings, as marked in bx_vect
 StreamProcessor::fillOrbitMetadata
-StreamProcessor::FillOrbitMuon(std::vector<unsigned int> &bx_vect, char *rd_ptr,
-                               char *wr_ptr) {
+StreamProcessor::FillOrbitMuon(const std::vector<unsigned int> &bx_vect,
+                               char *rd_ptr, char *wr_ptr) {
   std::pair<uint32_t, bool> orbit_header = std::pair<uint32_t, bool>{
       ProcessOrbitHeader(rd_ptr)}; //.second is the warning test enable bit
   rd_ptr += 32;                    // +32 to account for orbit header
@@ -266,7 +266,7 @@ StreamProcessor::FillOrbitMuon(std::vector<unsigned int> &bx_vect, char *rd_ptr,
     bool BblocksOn[8];
     uint32_t bx = uint32_t{bx_vect[relbx]};
     if (bx > 3554) {
-      orbit--;
+      --orbit;
     } // fix for the fact that bx 3555 - 3564 are from the previous orbit
     for (unsigned int i = 0; i < 8; i++) {
       uint32_t bxA = (bl->bx[i] >> shifts::bx) & masks::bx;
@@ -390,10 +390,9 @@ void StreamProcessor::process(Slice &input, Slice &out) {
     return;
   }
   while (endofpacket == false) {
-    std::vector<unsigned int> bx_vect;
     uint32_t orbitCount = 0;
     bool trailerError = false;
-    bx_vect = CountBX(input, rd_ptr, trailerError);
+    std::vector<unsigned int> bx_vect = CountBX(input, rd_ptr, trailerError);
     if (trailerError == true) {
       stats.orbit_trailer_error_count++;
       LOG(WARNING)
-- 
GitLab