From 1f9bd8d0bfa637a01368276013893b51e8005f2d Mon Sep 17 00:00:00 2001
From: John Derek Chapman <chapman@hep.phy.cam.ac.uk>
Date: Thu, 19 Jan 2017 15:59:37 +0100
Subject: [PATCH] python/SCT_DigitizationConfig.py,
 python/SCT_DigitizationConfigDb.py: add CfgGetter methods for
 SCT_GeantinoTruthDigitizationTool. ATLASSIM-3193. Tagged as
 SCT_Digitization-02-01-20 (SCT_Digitization-02-01-20)

	* python/SCT_DigitizationConfig.py,
	python/SCT_DigitizationConfigDb.py: add CfgGetter methods for
	SCT_GeantinoTruthDigitizationTool. ATLASSIM-3193
	* Tagged as SCT_Digitization-02-01-20

2016-10-10 Susumu Oda <Susumu.Oda@cern.ch>
	* Fix ATLASRECTS-3177 by making tools private
	  m_sct_amplifier of src/SCT_FrontEnd.cxx
	  m_distortionsTool of src/SCT_DetailedSurfaceChargesGenerator.cxx
	  m_sct_TimeWalkGen of src/SCT_StripDiscriminator.cxx
	  m_distortionsTool src/SCT_SurfaceChargesGenerator.cxx
	  m_sct_FrontEnd, m_sct_SurfaceChargesGenerator,
	  m_sct_RandomDisabledCellGenerator of src/SCT_DigitizationTool.cxx
	  m_sctDigitizationTool of src/SCT_Digitization.cxx
	* Tagged as SCT_Digitization-02-01-19


Former-commit-id: a01487f146539f56ccededb2507808870fa420c4
---
 .../SCT_Digitization/doc/mainpage.h           | 58 -------------------
 .../python/SCT_DigitizationConfig.py          |  6 ++
 .../python/SCT_DigitizationConfigDb.py        |  1 +
 .../SCT_DetailedSurfaceChargesGenerator.cxx   |  2 +-
 .../SCT_Digitization/src/SCT_Digitization.cxx |  2 +-
 .../src/SCT_DigitizationTool.cxx              |  6 +-
 .../SCT_Digitization/src/SCT_FrontEnd.cxx     |  2 +-
 .../src/SCT_StripDiscriminator.cxx            |  2 +-
 .../src/SCT_SurfaceChargesGenerator.cxx       |  2 +-
 9 files changed, 15 insertions(+), 66 deletions(-)
 delete mode 100755 InnerDetector/InDetDigitization/SCT_Digitization/doc/mainpage.h

diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/doc/mainpage.h b/InnerDetector/InDetDigitization/SCT_Digitization/doc/mainpage.h
deleted file mode 100755
index 7da28ecaaec..00000000000
--- a/InnerDetector/InDetDigitization/SCT_Digitization/doc/mainpage.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-@mainpage SCT_Digitization package
-@author Szymon.Gadomski@cern.ch,
-        Awatif.Belymam@cern.ch,
-        Davide.Costanzo@cern.ch,
-        tgcornel@nikhef.nl,
-        Grant.Gorfine@cern.ch,
-        Paul.Bell@cern.ch,
-        Jorgen.Dalmau@cern.ch,
-        Kondo.Gnanvo@cern.ch,
-        and others
-
-
-@section SCT_DigitizationIntro Introduction
-The SCT_Digitization package processes the GEANT4 hits in each SCT sensitive detector element (wafer),
-simulates the detector response, and generates the SCT RDO's.
-The model used is documented in the note ATL-SOFT-2001-005 by Szymon Gadomski.
-
-The entry and exit points of a track passing through a wafer, and the energy deposited, are obtained from the G4 hit.
-The path through the wafer is divided into a number of steps, and the total charge deposited is divided equally amongst the steps.
-This charge is then drifted to the wafer readout surface, taking into account the Lorentz angle and random diffusion.
-The list of surface charges with their associated drift times is then input to a model of the SCT front-end electronics.
-The response from the model for each strip (diode) is compared with a fixed readout threshold,
-and an RDO created and stored for each strip above threshold.
-Detector noise is included in the model, and pure noise hits are also generated.
-Crosstalk between neighbouring channels is also taken into account.
-
-@section SCT_DigitizationOverview Class overview
-The SCT_Digitization package contains the following classes:
- - SCT_Amp: Models an SCT amplifier and shaper, giving CRRC response to a list of charges with times.
- - SCT_Digitization: Athena algorithm inheriting from SiDigitization.
- - SCT_FrontEnd: Models response of ABCD chip amplifiers.
- - SCT_SurfaceChargesGenerator: Drifts charge from hits to SCT wafer surface.
-
-@section SCT_DigitizationRefs Reference pages
- - @ref used_SCT_Digitization
- - @ref requirements_SCT_Digitization
- - @ref notes_SCT_Digitization
-*/
-
-/**
-@page used_SCT_Digitization Used packages
-@htmlinclude used_packages.html
-*/
-
-/**
-@page requirements_SCT_Digitization Requirements
-@include requirements
-*/
-
-/**
-@page notes_SCT_Digitization Change notes
-@htmlinclude notes.html
-*/
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
index 565f012d896..5ccf108e8cf 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
@@ -243,6 +243,12 @@ def SCT_DigitizationTool(name="SCT_DigitizationTool", **kwargs):
 
 ######################################################################################
 
+def SCT_GeantinoTruthDigitizationTool(name="SCT_GeantinoTruthDigitizationTool", **kwargs):
+    kwargs.setdefault("ParticleBarcodeVeto", 0)
+    return SCT_DigitizationTool(name,**kwargs)
+
+######################################################################################
+
 def SCT_DigitizationToolHS(name="SCT_DigitizationToolHS",**kwargs):
     kwargs.setdefault("OutputObjectName", "SCT_RDOs")
     kwargs.setdefault("OutputSDOName", "SCT_SDO_Map")
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py
index 5f12118948a..72c8ba01ac6 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py
@@ -2,6 +2,7 @@
 
 from AthenaCommon.CfgGetter import addTool,addService,addAlgorithm
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationTool"          , "SCT_DigitizationTool")
+addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_GeantinoTruthDigitizationTool"          , "SCT_GeantinoTruthDigitizationTool")
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationToolHS"        , "SCT_DigitizationToolHS")
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationToolPU"        , "SCT_DigitizationToolPU")
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationToolSplitNoMergePU", "SCT_DigitizationToolSplitNoMergePU")
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx
index bae81f5e081..790cc692d84 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx
@@ -74,7 +74,7 @@ SCT_DetailedSurfaceChargesGenerator::SCT_DetailedSurfaceChargesGenerator(const s
     m_ExValue150{0.},
     m_EyValue150{0.},
     m_stripCharge{0.},
-    m_distortionsTool("SCT_DistortionsTool"),
+    m_distortionsTool("SCT_DistortionsTool", this),
     m_siConditionsSvc("SCT_SiliconConditionsSvc",name),
     m_siPropertiesSvc("SCT_SiPropertiesSvc",name),
     m_element(0),
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx
index 1aa46b195b4..2e83371f12f 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx
@@ -10,7 +10,7 @@
 //---------------------------------------------------------------------- 
 SCT_Digitization::SCT_Digitization(const std::string &name, ISvcLocator *pSvcLocator) :
   AthAlgorithm(name, pSvcLocator),
-  m_sctDigitizationTool("SCT_DigitizationTool")
+  m_sctDigitizationTool("SCT_DigitizationTool", this)
 {
   declareProperty("DigitizationTool",     m_sctDigitizationTool,                 "SCT_DigitizationTool name");              
 }
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx
index be7c7bf9339..eabbd6f5ef7 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx
@@ -53,9 +53,9 @@ SCT_DigitizationTool::SCT_DigitizationTool(const std::string &type,
     m_HardScatterSplittingSkipper(false),
     m_detID(nullptr),
     m_detMgr(nullptr),
-    m_sct_FrontEnd("SCT_FrontEnd"),
-    m_sct_SurfaceChargesGenerator("SCT_SurfaceChargesGenerator"),
-    m_sct_RandomDisabledCellGenerator("SCT_RandomDisabledCellGenerator"),
+    m_sct_FrontEnd("SCT_FrontEnd", this),
+    m_sct_SurfaceChargesGenerator("SCT_SurfaceChargesGenerator", this),
+    m_sct_RandomDisabledCellGenerator("SCT_RandomDisabledCellGenerator", this),
     m_rndmSvc("AtRndmGenSvc", name),
     m_mergeSvc("PileUpMergeSvc", name),
     m_rndmEngine(nullptr),
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx
index efd3eba84ba..476cdb93a1a 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx
@@ -37,7 +37,7 @@ SCT_FrontEnd::SCT_FrontEnd(const std::string &type, const std::string &name,
     m_sc(0),
     m_SCTdetMgr(0),
     m_sct_id(0),
-    m_sct_amplifier("SCT_Amp"),
+    m_sct_amplifier("SCT_Amp", this),
     m_ReadCalibChipDataSvc("SCT_ReadCalibChipDataSvc", name),
     m_rndmEngine(nullptr) {
     declareInterface< ISCT_FrontEnd >(this);
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx
index 01f02dad740..27b275c1957 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx
@@ -24,7 +24,7 @@ using namespace InDetDD;
 SCT_StripDiscriminator::SCT_StripDiscriminator(const std::string& type, const std::string& name,const IInterface* parent )
   : AthAlgTool(type,name,parent),
     m_rndmEngine(nullptr),
-    m_sct_TimeWalkGen("SCT_TimeWalkGenerator")
+    m_sct_TimeWalkGen("SCT_TimeWalkGenerator", this)
 {
   declareInterface< ISCT_StripDiscriminator >( this );
   declareProperty("DiscrThresh",        m_discrThresh=4100,       "Discriminator threshold");
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx
index 851ace3bc29..509d7ddb125 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx
@@ -87,7 +87,7 @@ parent)
     m_h_mobility_trap(nullptr),
     m_h_trap_pos(nullptr),
     m_hashId(0),
-    m_distortionsTool("SCT_DistortionsTool"),
+    m_distortionsTool("SCT_DistortionsTool", this),
     m_siConditionsSvc("SCT_SiliconConditionsSvc", name),
     m_siPropertiesSvc("SCT_SiPropertiesSvc", name),
     m_radDamageSvc("SCT_RadDamageSummarySvc", name),
-- 
GitLab