From c4dd71ff0cbce351ed217ccd6ade86d2b22e1b64 Mon Sep 17 00:00:00 2001
From: Atlas-Software Librarian <Atlas-Software.Librarian@cern.ch>
Date: Fri, 8 Apr 2016 17:36:03 +0200
Subject: [PATCH] 'CMakeLists.txt' (ZdcByteStream-00-01-10)

---
 .../ZDC/ZdcCnv/ZdcByteStream/CMakeLists.txt   | 51 +++++++++++++++++++
 .../ZdcByteStream/IZdcDataAccessV2.h          |  2 +-
 .../ZdcByteStream/ZdcByteStreamReadV1V2Tool.h |  2 +-
 .../ZdcByteStream/ZdcByteStreamTool.h         |  6 +--
 .../ZdcL1CaloErrorByteStreamTool.h            |  4 +-
 .../ZdcByteStream/src/ZdcByteStreamCnv.cxx    |  2 +-
 .../src/ZdcByteStreamReadV1V2Tool.cxx         |  6 ++-
 .../ZdcByteStream/src/ZdcByteStreamTool.cxx   | 12 ++---
 .../src/ZdcL1CaloErrorByteStreamTool.cxx      | 24 ++++-----
 .../ZdcByteStream/src/ZdcPpmSubBlock.cxx      | 11 +++-
 10 files changed, 92 insertions(+), 28 deletions(-)
 create mode 100644 ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/CMakeLists.txt

diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/CMakeLists.txt b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/CMakeLists.txt
new file mode 100644
index 00000000000..a0905c56c7a
--- /dev/null
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/CMakeLists.txt
@@ -0,0 +1,51 @@
+################################################################################
+# Package: ZdcByteStream
+################################################################################
+
+# Declare the package name:
+atlas_subdir( ZdcByteStream )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/AthToolSupport/AsgTools
+                          Control/AthenaBaseComps
+                          Control/DataModel
+                          Event/ByteStreamCnvSvcBase
+                          Event/ByteStreamData
+                          Event/xAOD/xAODTrigL1Calo
+                          ForwardDetectors/ZDC/ZdcEvent
+                          GaudiKernel
+                          PRIVATE
+                          Control/CLIDSvc
+                          Control/SGTools
+                          Control/StoreGate
+                          ForwardDetectors/ZDC/ZdcConditions
+                          Trigger/TrigT1/TrigT1Interfaces )
+
+# External dependencies:
+find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
+find_package( tdaq-common )
+
+# Component(s) in the package:
+atlas_add_library( ZdcByteStreamLib
+                   src/*.cxx
+                   PUBLIC_HEADERS ZdcByteStream
+                   INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS}
+                   PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                   LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} AsgTools AthenaBaseComps DataModel ByteStreamData xAODTrigL1Calo ZdcEvent GaudiKernel ByteStreamCnvSvcBaseLib ByteStreamData_test StoreGateLib SGtests
+                   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} SGTools ZdcConditions TrigT1Interfaces )
+
+atlas_add_component( ZdcByteStream
+                     src/components/*.cxx
+                     INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ${ROOT_LIBRARIES} AsgTools AthenaBaseComps DataModel ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test xAODTrigL1Calo ZdcEvent GaudiKernel SGTools StoreGateLib SGtests ZdcConditions TrigT1Interfaces ZdcByteStreamLib )
+
+atlas_add_dictionary( ZdcByteStreamDict
+                      ZdcByteStream/ZdcByteStreamDict.h
+                      ZdcByteStream/selection.xml
+                      INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
+                      LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ${ROOT_LIBRARIES} AsgTools AthenaBaseComps DataModel ByteStreamCnvSvcBaseLib ByteStreamData ByteStreamData_test xAODTrigL1Calo ZdcEvent GaudiKernel SGTools StoreGateLib SGtests ZdcConditions TrigT1Interfaces ZdcByteStreamLib )
+
+# Install files from the package:
+atlas_install_joboptions( share/*.py )
+
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/IZdcDataAccessV2.h b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/IZdcDataAccessV2.h
index 8642dee705c..838c91a0d1b 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/IZdcDataAccessV2.h
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/IZdcDataAccessV2.h
@@ -3,7 +3,7 @@
 */
 
 #ifndef TRIGT1CALOBYTESTREAM_IZDCDATAACCESSV2_H
-#define TRIGT1CALOBYTESTREAM_IZDCDTAACCESSV2_H
+#define TRIGT1CALOBYTESTREAM_IZDCDATAACCESSV2_H
 
 #include "AsgTools/IAsgTool.h"
 #include "xAODTrigL1Calo/TriggerTowerContainer.h"
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamReadV1V2Tool.h b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamReadV1V2Tool.h
index f568cc83961..bad5dee644d 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamReadV1V2Tool.h
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamReadV1V2Tool.h
@@ -52,7 +52,7 @@ namespace LVL1BS {
 }// end namespace
 
 // instead let's use their stupid namespace
-using namespace LVL1BS;
+//using namespace LVL1BS;
 // ===========================================================================
 
 // ===========================================================================
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamTool.h b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamTool.h
index 32f2fd9de5f..96febbc9aa7 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamTool.h
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcByteStreamTool.h
@@ -92,11 +92,11 @@ private:
 	void printVec(const std::vector<int>& vec) const;
 
 	/// Sub_block header version
-	int m_version;
+	//int m_version;
 	/// Data compression format
 	int m_dataFormat;
 	/// Compression version
-	int m_compVers;
+	//int m_compVers;
 	/// Compression statistics print flag
 	int m_printCompStats;
 	/// Number of channels per module (may not all be used)
@@ -104,7 +104,7 @@ private:
 	/// Number of crates
 	int m_crates;
 	/// Number of modules per crate (may not all exist)
-	int m_modules;
+	//int m_modules;
 	/// Number of slinks per crate when writing out bytestream
 	int m_slinks;
 	/// Default number of LUT slices in simulation
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcL1CaloErrorByteStreamTool.h b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcL1CaloErrorByteStreamTool.h
index 52332138ad5..82e1c60c04e 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcL1CaloErrorByteStreamTool.h
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/ZdcByteStream/ZdcL1CaloErrorByteStreamTool.h
@@ -48,8 +48,8 @@ class ZdcL1CaloErrorByteStreamTool : public AthAlgTool {
 
    // Maps of accumulated errors
    typedef std::map<uint32_t, unsigned int> ErrorMap;
-   ErrorMap robMap;
-   ErrorMap rodMap;
+   ErrorMap m_robMap;
+   ErrorMap m_rodMap;
 
 };
 
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamCnv.cxx b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamCnv.cxx
index fef4139808c..12b23d0cf39 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamCnv.cxx
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamCnv.cxx
@@ -73,7 +73,7 @@ ZdcByteStreamCnv::~ZdcByteStreamCnv()
 //==================================================================================================
 const CLID& ZdcByteStreamCnv::classID()
 {
-  std::cout << "In ZdcByteStreamCnv::classID()" << std::endl;
+  //std::cout << "In ZdcByteStreamCnv::classID()" << std::endl;
   return ClassID_traits<ZdcDigitsCollection>::ID();
   //return ClassID_traits<xAOD::TriggerTowerContainer>::ID();
 }
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamReadV1V2Tool.cxx b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamReadV1V2Tool.cxx
index 54f3962b909..1f45fa19a2c 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamReadV1V2Tool.cxx
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamReadV1V2Tool.cxx
@@ -762,6 +762,10 @@ StatusCode ZdcByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
         }
 
       }
+
+      if (minIndex < 0)
+        return StatusCode::FAILURE;
+
        // Next get the ADC related quantities (all encodings).
       adcVal = getPpmAdcSamplesR4_(encoding, minIndex);
       // Finally get the pedestal correction.
@@ -977,7 +981,7 @@ StatusCode ZdcByteStreamReadV1V2Tool::addTriggerTowerV2_(
     const std::vector<int16_t>& pedCor,
     const std::vector<uint8_t>& pedEn) {
 
-  int layer = 0;
+  //int layer = 0;
   int error = 0;
   double eta = 0.;
   double phi = 0.;
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamTool.cxx b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamTool.cxx
index ecf0dc23cf6..e2a2ef96798 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamTool.cxx
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcByteStreamTool.cxx
@@ -50,11 +50,11 @@ ZdcByteStreamTool::ZdcByteStreamTool(const std::string& type,
 										      const std::string& name,
 										      const IInterface* parent) :
 			AthAlgTool(type, name, parent),
-			m_version(1),
-			m_compVers(4),
+			//m_version(1),
+			//m_compVers(4),
 			m_channels(64),
 			m_crates(8),
-			m_modules(16),
+			//m_modules(16),
 			m_subDetector(eformat::FORWARD_ZDC),
 			m_srcIdMap(0),
 			//m_towerKey(0),
@@ -573,10 +573,10 @@ StatusCode ZdcByteStreamTool::convert( const IROBDataProviderSvc::VROBFRAG& robF
 
 //==================================================================================================
 // Conversion of ZDCCollection to bytestream
-StatusCode ZdcByteStreamTool::convert( const ZdcDigitsCollection* const ttCollection,
-				       RawEventWrite* const re)
+StatusCode ZdcByteStreamTool::convert( const ZdcDigitsCollection* const /*ttCollection*/,
+				       RawEventWrite* const /*re*/)
 {
-	if (re) ttCollection->size();
+        //if (re) ttCollection->size();
 	//See PpmByteStreamTool for a implementation
 	return StatusCode::SUCCESS;
 }
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcL1CaloErrorByteStreamTool.cxx b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcL1CaloErrorByteStreamTool.cxx
index dde62271c9b..6abe24f9acd 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcL1CaloErrorByteStreamTool.cxx
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcL1CaloErrorByteStreamTool.cxx
@@ -65,8 +65,8 @@ StatusCode ZdcL1CaloErrorByteStreamTool::finalize()
 void ZdcL1CaloErrorByteStreamTool::robError(const uint32_t robid,
                                          const unsigned int err)
 {
-  if (err && robMap.find(robid) == robMap.end()) {
-    robMap.insert(std::make_pair(robid, err));
+  if (err && m_robMap.find(robid) == m_robMap.end()) {
+    m_robMap.insert(std::make_pair(robid, err));
   }
   return;
 }
@@ -76,8 +76,8 @@ void ZdcL1CaloErrorByteStreamTool::robError(const uint32_t robid,
 void ZdcL1CaloErrorByteStreamTool::rodError(const uint32_t robid,
                                          const unsigned int err)
 {
-  if (err && rodMap.find(robid) == rodMap.end()) {
-    rodMap.insert(std::make_pair(robid, err));
+  if (err && m_rodMap.find(robid) == m_rodMap.end()) {
+    m_rodMap.insert(std::make_pair(robid, err));
   }
   return;
 }
@@ -87,22 +87,22 @@ void ZdcL1CaloErrorByteStreamTool::rodError(const uint32_t robid,
 StatusCode ZdcL1CaloErrorByteStreamTool::errors(std::vector<unsigned int>*
                                                                  const errColl)
 {
-  if (!robMap.empty() || !rodMap.empty()) {
-    errColl->push_back(robMap.size());
-    ErrorMap::const_iterator iter  = robMap.begin();
-    ErrorMap::const_iterator iterE = robMap.end();
+  if (!m_robMap.empty() || !m_rodMap.empty()) {
+    errColl->push_back(m_robMap.size());
+    ErrorMap::const_iterator iter  = m_robMap.begin();
+    ErrorMap::const_iterator iterE = m_robMap.end();
     for (; iter != iterE; ++iter) {
       errColl->push_back(iter->first);
       errColl->push_back(iter->second);
     }
-    robMap.clear();
-    iter  = rodMap.begin();
-    iterE = rodMap.end();
+    m_robMap.clear();
+    iter  = m_rodMap.begin();
+    iterE = m_rodMap.end();
     for (; iter != iterE; ++iter) {
       errColl->push_back(iter->first);
       errColl->push_back(iter->second);
     }
-    rodMap.clear();
+    m_rodMap.clear();
   }
   return StatusCode::SUCCESS;
 }
diff --git a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcPpmSubBlock.cxx b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcPpmSubBlock.cxx
index 307600d8de6..b2ea4ebde78 100644
--- a/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcPpmSubBlock.cxx
+++ b/ForwardDetectors/ZDC/ZdcCnv/ZdcByteStream/src/ZdcPpmSubBlock.cxx
@@ -137,6 +137,11 @@ void ZdcPpmSubBlock::fillPpmData(const int chan, const std::vector<int>& lut,
   const int sliceF = slicesFadc();
   const int slices = sliceL + sliceF;
   const int chanPerSubBlock = channelsPerSubBlock();
+  if (chanPerSubBlock == 0) {
+    setUnpackErrorCode(ZdcSubBlock::UNPACK_FORMAT);
+    m_datamap.clear();
+    return;
+  }
   int dataSize = m_datamap.size();
   if (dataSize == 0) {
     dataSize = slices * chanPerSubBlock;
@@ -172,7 +177,11 @@ void ZdcPpmSubBlock::ppmData(const int chan, std::vector<int>& lut,
   bcidFadc.clear();
   const int sliceL = slicesLut();
   const int sliceF = slicesFadc();
-  int beg = (chan % channelsPerSubBlock()) * (sliceL + sliceF);
+  const int chans = channelsPerSubBlock();
+  if (chans == 0) {
+    return;
+  }
+  int beg = (chan % chans) * (sliceL + sliceF);
   int end = beg + sliceL;
   if (size_t(end + sliceF) <= m_datamap.size()) {
     for (int pos = beg; pos < end; ++pos) {
-- 
GitLab