From bc7b9df044d5b59e70af7b99d8e61bf576d05809 Mon Sep 17 00:00:00 2001 From: Elmar Ritsch <Elmar.Ritsch@cern.ch> Date: Tue, 16 Aug 2016 11:42:59 +0200 Subject: [PATCH] Fix compile-time warnings by replacing obsolete 'endreq' with 'endmsg' in Athena output messages. (ISF_Interfaces-00-05-01-04) * Fix compile-time warnings by replacing obsolete 'endreq' with 'endmsg' in Athena output messages. * Tag as ISF_Interfaces-00-05-01-04 2016-07-29 Elmar Ritsch <Elmar.Ritsch@cern.ch> * Adopt package to new location of Barcode.h and PhysicsProcessCode.h files (moved from BarcodeInterfaces package into new BarcodeEvent package). This is to follow ATLAS conventions about providing event-data types in dedicated *Event packages. ATLASSIM-2281 * Tag as ISF_Interfaces-00-05-01-03 2016-07-05 Elmar Ritsch <Elmar.Ritsch@cern.ch> * IInputConverter.h: add flag to specify pileup/no-pileup for conversion. Flag can be used to set e.g. BCID differently for both, which is critical for FastChain. ATLASSIM-2928 * Tag as ISF_Interfaces-00-05-01-02 2016-06-28 Elmar Ritsch <Elmar.Ritsch@cern.ch> * Refactor ISF input processing for AthenaMT. ATLASSIM-2928 * Tag as ISF_Interfaces-00-05-01-01 ... (Long ChangeLog diff - truncated) Former-commit-id: 30ab44ec51bfc3ac0bc56318a598354c58bcb5ad --- .../ISF_Core/ISF_Interfaces/CMakeLists.txt | 2 +- .../ISF_Interfaces/BaseSimulationSvc.h | 2 +- .../ISF_Interfaces/IInputConverter.h | 59 +++++++++++++++++++ .../ISF_Interfaces/IParticleBroker.h | 4 +- .../ISF_Interfaces/IParticleHelper.h | 2 +- .../ISF_Interfaces/IStackFiller.h | 51 ---------------- .../ISF_Core/ISF_Interfaces/cmt/requirements | 2 +- 7 files changed, 65 insertions(+), 57 deletions(-) create mode 100644 Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h delete mode 100644 Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IStackFiller.h diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/CMakeLists.txt b/Simulation/ISF/ISF_Core/ISF_Interfaces/CMakeLists.txt index 48665758638..f6b0d775acf 100644 --- a/Simulation/ISF/ISF_Core/ISF_Interfaces/CMakeLists.txt +++ b/Simulation/ISF/ISF_Core/ISF_Interfaces/CMakeLists.txt @@ -13,7 +13,7 @@ atlas_depends_on_subdirs( PUBLIC DetectorDescription/AtlasDetDescr DetectorDescription/GeoPrimitives GaudiKernel - Simulation/Barcode/BarcodeInterfaces + Simulation/Barcode/BarcodeEvent Simulation/ISF/ISF_Core/ISF_Event ) # External dependencies: diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/BaseSimulationSvc.h b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/BaseSimulationSvc.h index 8ed4707ad2e..b46bc42d632 100644 --- a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/BaseSimulationSvc.h +++ b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/BaseSimulationSvc.h @@ -128,7 +128,7 @@ namespace ISF { for ( ; partIt != partItEnd; partIt++) { ATH_MSG_VERBOSE( m_screenOutputPrefix << "Starting simulation of particle: " << (*partIt) ); if ( this->simulate(**partIt).isFailure()) { - ATH_MSG_WARNING("Simulation of particle failed!" << endreq << + ATH_MSG_WARNING("Simulation of particle failed!" << endmsg << " -> simulator: " << this->simSvcDescriptor() << " -> particle : " << (ISFParticle&)(**partIt) ); success = false; diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h new file mode 100644 index 00000000000..e53316c154c --- /dev/null +++ b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h @@ -0,0 +1,59 @@ +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +/////////////////////////////////////////////////////////////////// +// IInputConverter.h, (c) ATLAS Detector software +/////////////////////////////////////////////////////////////////// + +#ifndef ISF_INTERFACES_IINPUTCONVERTER_H +#define ISF_INTERFACES_IINPUTCONVERTER_H 1 + +// Gaudi +#include "GaudiKernel/IInterface.h" + +// StoreGate +#include "StoreGate/ReadHandle.h" +#include "StoreGate/WriteHandle.h" + +// Simulation includes +#include "ISF_Event/ISFParticleContainer.h" + +/** Declaration of the interface ID ( interface id, major version, minor version) */ +static const InterfaceID IID_IInputConverter("IInputConverter", 1, 0); + +// forward declarations +class McEventCollection; + +namespace ISF { + + class ISFParticle; + + /** + @class IInputConverter + + Interface to Athena service that converts an input McEventCollection + into a container of ISFParticles. + + @author Elmar.Ritsch -at- cern.ch + */ + + class IInputConverter : virtual public IInterface { + public: + + /** Virtual destructor */ + virtual ~IInputConverter(){} + + /** Gaudi InterfaceID */ + static const InterfaceID& interfaceID() { return IID_IInputConverter; } + + /** Convert selected particles from the given McEventCollection into ISFParticles + and push them into the given ISFParticleContainer */ + virtual StatusCode convert(const McEventCollection& inputGenEvents, + ISFParticleContainer& simParticles, + bool isPileup) const = 0; + }; + +} // end of namespace + +#endif // ISF_INTERFACES_IINPUTCONVERTER_H diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleBroker.h b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleBroker.h index af5bbc9ec40..b6bdd201be8 100644 --- a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleBroker.h +++ b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleBroker.h @@ -19,7 +19,7 @@ // ISF includes #include "ISF_Event/SimSvcID.h" -#include "ISF_Event/ISFParticleVector.h" +#include "ISF_Event/ISFParticleContainer.h" #include "ISF_Event/EntryLayer.h" #include "ISF_Interfaces/ISimulationSelector.h" @@ -51,7 +51,7 @@ namespace ISF { virtual StatusCode registerSimSelector(SimSelectorToolArray &simSelectorTools, AtlasDetDescr::AtlasRegion geoID) = 0; /** Initialize the broker */ - virtual StatusCode initializeEvent() = 0; + virtual StatusCode initializeEvent(ISFParticleContainer&& simParticles) = 0; /** Finalize the event in the broker service */ virtual StatusCode finalizeEvent() = 0; diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleHelper.h b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleHelper.h index 592e5940957..b708001260b 100644 --- a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleHelper.h +++ b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IParticleHelper.h @@ -16,7 +16,7 @@ #include "ISF_Event/SimSvcID.h" // Barcode includes -#include "BarcodeInterfaces/Barcode.h" +#include "BarcodeEvent/Barcode.h" // Amg includes #include "GeoPrimitives/GeoPrimitives.h" diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IStackFiller.h b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IStackFiller.h deleted file mode 100644 index fcc8781aba6..00000000000 --- a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IStackFiller.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -/////////////////////////////////////////////////////////////////// -// IStackFiller.h, (c) ATLAS Detector software -/////////////////////////////////////////////////////////////////// - -#ifndef ISF_INTERFACES_ISTACKFILLER_H -#define ISF_INTERFACES_ISTACKFILLER_H 1 - -// Gaudi -#include "GaudiKernel/IAlgTool.h" - -// Simulation includes -#include "ISF_Event/SimSvcID.h" -#include "ISF_Event/ISFParticleContainer.h" - -namespace ISF { - - class ISFParticle; - - static const InterfaceID IID_IStackFiller("IStackFiller", 1, 0); - - /** - @class IStackFiller - - Interface for the stack filling from generator/user defined input. - This should also be able to be implemented in python for simple - simulation feeding. - - @author Andreas.Salzburger -at- cern.ch - */ - - class IStackFiller : virtual public IAlgTool { - public: - - /** Virtual destructor */ - virtual ~IStackFiller(){} - - /** AlgTool interface methods */ - static const InterfaceID& interfaceID() { return IID_IStackFiller; } - - /** Returns the Particle Stack, should register truth */ - virtual StatusCode fillStack(ISFParticleContainer& stack) const = 0; - - }; - -} // end of namespace - -#endif // ISF_INTERFACES_ISTACKFILLER_H diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/cmt/requirements b/Simulation/ISF/ISF_Core/ISF_Interfaces/cmt/requirements index 42f4583738e..c488ba99366 100644 --- a/Simulation/ISF/ISF_Core/ISF_Interfaces/cmt/requirements +++ b/Simulation/ISF/ISF_Core/ISF_Interfaces/cmt/requirements @@ -13,7 +13,7 @@ use AthenaKernel AthenaKernel-* Control use AthenaBaseComps AthenaBaseComps-* Control use StoreGate StoreGate-* Control use ISF_Event ISF_Event-* Simulation/ISF/ISF_Core -use BarcodeInterfaces BarcodeInterfaces-* Simulation/Barcode +use BarcodeEvent BarcodeEvent-* Simulation/Barcode use AtlasDetDescr AtlasDetDescr-* DetectorDescription use GeoPrimitives GeoPrimitives-* DetectorDescription -- GitLab