From 2df67096971590dc13e11aaf71886430b5233e6a Mon Sep 17 00:00:00 2001
From: Atlas-Software Librarian <Atlas-Software.Librarian@cern.ch>
Date: Fri, 8 Apr 2016 18:58:38 +0200
Subject: [PATCH] 'CMakeLists.txt' (ALFA_Raw2Digit-00-00-16)

---
 .../ALFA/ALFA_Raw2Digit/CMakeLists.txt        | 34 ++++++++++
 .../ALFA_Raw2Digit/src/ALFA_Raw2Digit.cxx     | 67 ++++++++++++++-----
 2 files changed, 83 insertions(+), 18 deletions(-)
 create mode 100644 ForwardDetectors/ALFA/ALFA_Raw2Digit/CMakeLists.txt

diff --git a/ForwardDetectors/ALFA/ALFA_Raw2Digit/CMakeLists.txt b/ForwardDetectors/ALFA/ALFA_Raw2Digit/CMakeLists.txt
new file mode 100644
index 000000000000..f8fcdbe7d5d7
--- /dev/null
+++ b/ForwardDetectors/ALFA/ALFA_Raw2Digit/CMakeLists.txt
@@ -0,0 +1,34 @@
+################################################################################
+# Package: ALFA_Raw2Digit
+################################################################################
+
+# Declare the package name:
+atlas_subdir( ALFA_Raw2Digit )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/AthenaBaseComps
+                          ForwardDetectors/ALFA/ALFA_RawEv
+                          GaudiKernel
+                          PRIVATE
+                          Tools/PathResolver )
+
+# External dependencies:
+find_package( Boost COMPONENTS filesystem thread system )
+find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread Table MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
+
+# tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
+
+# tag ROOTSTLDictLibs was not recognized in automatic conversion in cmt2cmake
+
+# Component(s) in the package:
+atlas_add_component( ALFA_Raw2Digit
+                     src/*.cxx
+                     src/components/*.cxx
+                     INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS}
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} AthenaBaseComps ALFA_RawEv GaudiKernel PathResolver )
+
+# Install files from the package:
+atlas_install_headers( ALFA_Raw2Digit )
+atlas_install_runtime( mapping/*.dat )
+
diff --git a/ForwardDetectors/ALFA/ALFA_Raw2Digit/src/ALFA_Raw2Digit.cxx b/ForwardDetectors/ALFA/ALFA_Raw2Digit/src/ALFA_Raw2Digit.cxx
index d8e0f2ff183d..d7585219b0ed 100644
--- a/ForwardDetectors/ALFA/ALFA_Raw2Digit/src/ALFA_Raw2Digit.cxx
+++ b/ForwardDetectors/ALFA/ALFA_Raw2Digit/src/ALFA_Raw2Digit.cxx
@@ -34,6 +34,29 @@ ALFA_Raw2Digit::ALFA_Raw2Digit(const std::string& name, ISvcLocator* pSvcLocator
 	m_rootOutput = NULL;
 	m_tree = NULL;
 
+	m_nEvents = 0;
+	mbID      = 0;
+	pmfID     = 0;
+	fibID     = 0;
+	MAPMTChan = 0;
+	MapChan   = 0;
+	m_pot     = 0;
+	m_side    = 0;
+	m_plate   = 0;
+	m_fiber   = 0;
+	m_ODpot   = 0;
+	m_ODside  = 0;
+	m_ODplate = 0;
+	m_ODfiber = 0;
+
+	memset(&act_lay_h, 0, sizeof(act_lay_h));
+	memset(&hit_lay_h, 0, sizeof(hit_lay_h));
+	lumi_block     = 0;
+	lumi_block_old = 0;
+	event_no       = 0;
+	WordId_count   = 0;
+	chan_i         = 0;
+	chan_j         = 0;
 }
 
 StatusCode ALFA_Raw2Digit::initialize()
@@ -485,21 +508,19 @@ StatusCode ALFA_Raw2Digit::recordODCollection()
 
 StatusCode ALFA_Raw2Digit::mapping()
 {
-	int MarChan;
-	int MapChan;
-	int FibChan;
-	int iLayer;
-
-	int PMFNum;
-	int LAYNum;
-
-	int OD_PMFNum;
-	int OD_Dieter;
-	int OD_LAYNum;
-	int OD_Side;
-	int OD_MarChan;
-	int OD_FibChan;
-	int OD_MaPmtChan;
+	int MarChan      = 0;
+	int MapChan      = 0;
+	int FibChan      = 0;
+	int iLayer       = 0;
+	int PMFNum       = 0;
+	int LAYNum       = 0;
+	int OD_PMFNum    = 0;
+	int OD_Dieter    = 0;
+	int OD_LAYNum    = 0;
+	int OD_Side      = 0;
+	int OD_MarChan   = 0;
+	int OD_FibChan   = 0;
+	int OD_MaPmtChan = 0;
    
 //	int MBnum, DETnum;
 
@@ -682,11 +703,21 @@ StatusCode ALFA_Raw2Digit::mapping()
 						}
 						
 						
-						OD_pmf2layer[j][OD_PMFNum-1] = OD_LAYNum-1;
+// 						OD_pmf2layer[j][OD_PMFNum-1] = OD_LAYNum-1;
 	//					OD_layer2pmf[j][OD_LAYNum-1] = OD_PMFNum-1;
 						// changed by Petr - 19.12.2012 ---------------------------------
 //						OD_MarChan = mapmt2maroc[j][OD_MaPmtChan-1];
-						OD_MarChan = mapmt2maroc[j][OD_LAYNum-1][OD_MaPmtChan-1];
+// 						OD_MarChan = mapmt2maroc[j][OD_LAYNum-1][OD_MaPmtChan-1];
+						//added to solve ATLAS coverity 13339 (only three OD layers are allowed)
+						if ((OD_LAYNum > 0) && ( OD_LAYNum < 4))
+						{
+							OD_pmf2layer[j][OD_PMFNum-1] = OD_LAYNum-1;
+							OD_MarChan = mapmt2maroc[j][OD_LAYNum-1][OD_MaPmtChan-1];
+						}
+						else
+						{
+							msg(MSG::DEBUG) << "OD_LAYNum out of bounds" << endreq;
+						}
 
 						OD_pmf_maroc2fiber[j][OD_PMFNum-1][OD_MarChan] = OD_FibChan-1;
 						OD_pmf_maroc2side[j][OD_PMFNum-1][OD_MarChan] = OD_Side;
@@ -699,7 +730,7 @@ StatusCode ALFA_Raw2Digit::mapping()
 		else
 		{
 			msg(MSG::WARNING) << "the file " << mapname.c_str() << " was not open" << endreq;
-			return StatusCode::FAILURE;	
+			return StatusCode::FAILURE;
 		}
 	}
 
-- 
GitLab