From 308d8a8613b913630c60cc6de1b59fe8c68ce139 Mon Sep 17 00:00:00 2001
From: Andrii Verbytskyi <averbyts@cern.ch>
Date: Thu, 23 Apr 2020 13:53:26 +0200
Subject: [PATCH] Migration of the AthSimulation to AtlasHepMC

---
 Simulation/BeamEffects/CMakeLists.txt                | 10 +++++-----
 Simulation/BeamEffects/src/BeamEffectsAlg.h          |  4 +---
 .../BeamEffects/src/GenEventBeamEffectBooster.cxx    |  4 ++--
 .../BeamEffects/src/GenEventBeamEffectBooster.h      |  4 +---
 Simulation/BeamEffects/src/GenEventRotator.cxx       |  4 ++--
 Simulation/BeamEffects/src/GenEventRotator.h         |  4 +---
 .../BeamEffects/src/GenEventValidityChecker.cxx      |  2 +-
 .../BeamEffects/src/GenEventVertexPositioner.cxx     |  3 ++-
 .../BeamEffects/src/VertexPositionFromFile.cxx       |  2 +-
 .../BeamEffects/src/ZeroLifetimePositioner.cxx       |  3 ++-
 Simulation/BeamEffects/test/BeamEffectsAlg_test.cxx  |  4 +++-
 Simulation/FastShower/FastCaloSim/CMakeLists.txt     |  6 +++---
 .../FastCaloSim/FastShowerCellBuilderTool.h          |  7 +++----
 .../FastCaloSim/src/FastShowerCellBuilderTool.cxx    |  4 ++--
 .../FastChainPileup/MultiParticleGunPileup.h         |  4 +---
 .../FastChainPileup/FastChainPileup/MultiPy8Pileup.h |  4 +---
 .../GenParticleEnergyDepositMap.h                    |  4 +---
 Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt         |  6 +++---
 Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt       |  4 ++--
 .../G4Atlas/G4AtlasTests/src/LArHitsTestTool.cxx     |  2 +-
 .../G4Atlas/G4AtlasTests/src/LucidHitsTestTool.cxx   |  2 +-
 .../G4Atlas/G4AtlasTests/src/SiHitsTestTool.cxx      |  2 +-
 .../G4Atlas/G4AtlasTests/src/SimTestToolBase.cxx     |  2 +-
 .../G4Atlas/G4AtlasTests/src/SimTestToolBase.h       |  5 ++---
 .../G4Atlas/G4AtlasTests/src/TruthTestTool.cxx       |  2 +-
 .../G4Extensions/G4ExternalDecay/CMakeLists.txt      |  5 ++---
 .../G4ExternalDecay/src/Pythia8ForDecays.cxx         |  5 ++---
 Simulation/G4Sim/MCTruth/CMakeLists.txt              |  4 ++--
 Simulation/G4Sim/MCTruth/MCTruth/EventInformation.h  |  3 ++-
 .../MCTruth/MCTruth/PrimaryParticleInformation.h     |  3 ++-
 Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h        |  2 +-
 Simulation/G4Sim/MCTruth/MCTruth/VTrackInformation.h |  4 +---
 Simulation/G4Sim/MCTruth/src/TrackInformation.cxx    |  2 +-
 Simulation/G4Sim/MCTruthBase/CMakeLists.txt          |  6 +++---
 .../MCTruthSimAlgs/src/MergeMcEventCollTool.h        |  6 ++----
 .../MCTruthSimAlgs/src/SimpleMergeMcEventCollTool.h  |  6 ++----
 .../ISF/ISF_Core/ISF_Algorithms/CMakeLists.txt       |  1 +
 .../ISF_Algorithms/src/SimHitTreeCreator.cxx         |  2 +-
 Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt     |  6 +++---
 .../ISF/ISF_Core/ISF_Event/ISF_Event/HepMCHelper.h   |  8 +++-----
 .../ISF_Core/ISF_Event/ISF_Event/ITruthIncident.h    |  6 ++----
 .../ISF_Core/ISF_Event/ISF_Event/ParticleHelper.h    |  4 +---
 .../ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h  |  2 +-
 .../ISF/ISF_Core/ISF_Event/src/ISFTruthIncident.cxx  |  4 ++--
 .../ISF/ISF_Core/ISF_Event/src/ParticleHelper.cxx    |  6 +++---
 .../ISF_Interfaces/ISF_Interfaces/IInputConverter.h  |  4 +---
 Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt  |  4 ++--
 .../ISF/ISF_Core/ISF_Services/src/InputConverter.cxx |  5 +++--
 .../ISF/ISF_Core/ISF_Services/src/InputConverter.h   |  7 +++----
 .../ISF/ISF_Core/ISF_Services/src/TruthSvc.cxx       |  8 ++++----
 Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.h  |  5 ++---
 .../ISF_Services/test/InputConverter_test.cxx        |  4 ++--
 .../ISF/ISF_Core/ISF_Services/test/TruthSvc_test.cxx |  6 +++---
 .../ISF_FastCaloSimParametrization/CMakeLists.txt    |  6 +++---
 .../FastCaloSimParamAlg.h                            |  4 +---
 .../ISF_FastCaloSimParametrization/ISF_HitAnalysis.h |  2 +-
 .../NativeFastCaloSimSvc.h                           |  4 +---
 .../ISF_FastCaloSimServices/CMakeLists.txt           |  4 ++--
 .../ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx |  6 +++---
 .../ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h   |  5 +----
 .../ISF_FastCaloSimServices/src/FastCaloTool.cxx     |  6 +++---
 .../ISF_PunchThroughTools/CMakeLists.txt             |  4 ++--
 .../ISF_PunchThroughTools/src/PunchThroughTool.cxx   |  8 ++++----
 .../ISF_PunchThroughTools/src/PunchThroughTool.h     |  4 +---
 .../ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt    |  4 ++--
 .../PRD_PlanarTruthTrajectoryBuilder.h               |  4 +---
 .../src/PRD_PlanarTruthTrajectoryBuilder.cxx         |  4 ++--
 .../ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt  |  4 ++--
 .../ISF_FatrasToolsG4/src/G4HadIntProcessor.cxx      |  4 ++--
 .../ISF_FatrasToolsG4/src/G4ParticleDecayHelper.cxx  |  2 +-
 .../ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt    |  6 +++---
 .../ISF_Geant4Event/Geant4TruthIncident.h            |  2 +-
 .../ISF_Geant4Event/ISF_Geant4Event/ISFG4Helper.h    |  4 +---
 .../ISF_Geant4Event/src/Geant4TruthIncident.cxx      |  2 +-
 .../ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt    |  4 ++--
 .../ISF_Geant4Tools/src/G4LegacyTransportTool.cxx    |  2 +-
 .../ISF_Geant4Tools/src/G4LegacyTransportTool.h      |  4 +---
 .../ISF_Geant4/ISF_Geant4Tools/src/ISFTrajectory.cxx |  2 +-
 .../src/PhysicsValidationUserAction.cxx              |  2 +-
 .../src/TrackProcessorUserActionBase.h               |  4 +---
 .../src/TrackProcessorUserActionPassBack.h           |  4 +---
 .../ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx |  2 +-
 .../ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h   |  4 +---
 .../src/FastCaloSimParamAction.h                     |  4 +---
 .../ISF_HepMC/ISF_HepMC_Interfaces/CMakeLists.txt    |  1 +
 .../ISF_HepMC_Interfaces/IGenParticleFilter.h        |  4 +---
 .../ISF_HepMC_Interfaces/ITruthStrategy.h            |  5 ++---
 .../ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt     | 12 ++++++------
 .../src/CylinderVolumeTruthStrategy.cxx              |  2 +-
 .../src/GenParticleFinalStateFilter.cxx              |  2 +-
 .../ISF_HepMC_Tools/src/GenParticleGenericFilter.cxx |  4 ++--
 .../src/GenParticleInteractingFilter.cxx             |  2 +-
 .../src/GenParticleLifetimeFilter.cxx                |  4 ++--
 .../src/GenParticlePositionFilter.cxx                |  4 ++--
 .../ISF_HepMC_Tools/src/GenParticleSimWhiteList.cxx  |  4 ++--
 .../test/GenParticleGenericFilter_test.cxx           |  4 ++--
 .../test/GenParticleInteractingFilter_test.cxx       |  4 ++--
 .../test/GenParticleLifetimeFilter_test.cxx          |  4 ++--
 .../ISF/ISF_SimulationSelectors/CMakeLists.txt       |  4 ++--
 .../src/TruthAssocSimSelector.h                      |  2 +-
 .../HepMC_Interfaces/IGenEventManipulator.h          |  4 +---
 .../HepMC_Interfaces/IZeroLifetimePatcher.h          |  5 +----
 .../CaloSamplingFractionAnalysis/CMakeLists.txt      |  4 ++--
 Simulation/Tools/HitAnalysis/CMakeLists.txt          |  4 ++--
 .../Tools/HitAnalysis/src/TruthHitAnalysis.cxx       |  2 +-
 .../Tools/McEventCollectionFilter/CMakeLists.txt     |  6 +++---
 .../src/McEventCollectionFilter.cxx                  |  4 ++--
 .../src/McEventCollectionFilter.h                    |  2 ++
 Simulation/TruthJiveXML/CMakeLists.txt               |  4 ++--
 .../TruthJiveXML/src/TruthMuonTrackRetriever.cxx     |  2 +-
 110 files changed, 197 insertions(+), 249 deletions(-)

diff --git a/Simulation/BeamEffects/CMakeLists.txt b/Simulation/BeamEffects/CMakeLists.txt
index d6a212d812f..4bc0f27b9b6 100644
--- a/Simulation/BeamEffects/CMakeLists.txt
+++ b/Simulation/BeamEffects/CMakeLists.txt
@@ -14,13 +14,13 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           Control/StoreGate
                           Event/EventInfo
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           InnerDetector/InDetConditions/InDetBeamSpotService
                           Simulation/Interfaces/HepMC_Interfaces )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( GTest )
 find_package( Eigen REQUIRED )
 #find_package( GMock )
@@ -30,8 +30,8 @@ include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS})
 
 atlas_add_test( BeamEffectsAlg_test
                 SOURCES src/*.cxx test/BeamEffectsAlg_test.cxx
-                INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS} #${GMOCK_INCLUDE_DIRS}
-                LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel TestTools AthenaBaseComps StoreGateLib EventInfo GeneratorObjects BeamSpotConditionsData ${GTEST_LIBRARIES} #${GMOCK_LIBRARIES}
+                INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}  ${GTEST_INCLUDE_DIRS} #${GMOCK_INCLUDE_DIRS}
+                LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel TestTools AthenaBaseComps StoreGateLib EventInfo GeneratorObjects BeamSpotConditionsData ${GTEST_LIBRARIES} #${GMOCK_LIBRARIES}
                 )
 
 
@@ -44,8 +44,8 @@ atlas_add_test( BeamEffectsAlgConfig_test
 atlas_add_component( BeamEffects
                      src/*.cxx
                      src/components/*.cxx
-                     INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel AthenaBaseComps StoreGateLib EventInfo GeneratorObjects BeamSpotConditionsData )
+                     INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} 
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel AthenaBaseComps StoreGateLib EventInfo GeneratorObjects BeamSpotConditionsData )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/BeamEffects/src/BeamEffectsAlg.h b/Simulation/BeamEffects/src/BeamEffectsAlg.h
index a187db0223e..0400ccba0ea 100644
--- a/Simulation/BeamEffects/src/BeamEffectsAlg.h
+++ b/Simulation/BeamEffects/src/BeamEffectsAlg.h
@@ -20,9 +20,7 @@
 
 // Forward declarations
 class McEventCollection;
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 namespace SimTesting {
   class BeamEffectsAlg_test;
 }
diff --git a/Simulation/BeamEffects/src/GenEventBeamEffectBooster.cxx b/Simulation/BeamEffects/src/GenEventBeamEffectBooster.cxx
index fdcbecf0d14..3bf5e81861c 100644
--- a/Simulation/BeamEffects/src/GenEventBeamEffectBooster.cxx
+++ b/Simulation/BeamEffects/src/GenEventBeamEffectBooster.cxx
@@ -18,8 +18,8 @@
 #include "CLHEP/Units/PhysicalConstants.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace Simulation
 {
diff --git a/Simulation/BeamEffects/src/GenEventBeamEffectBooster.h b/Simulation/BeamEffects/src/GenEventBeamEffectBooster.h
index 9b9d92ec9c2..49060bd70c3 100644
--- a/Simulation/BeamEffects/src/GenEventBeamEffectBooster.h
+++ b/Simulation/BeamEffects/src/GenEventBeamEffectBooster.h
@@ -26,9 +26,7 @@ namespace ATHRNG {
   class RNGWrapper;
 }
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace Simulation {
 
diff --git a/Simulation/BeamEffects/src/GenEventRotator.cxx b/Simulation/BeamEffects/src/GenEventRotator.cxx
index bae7764fd9f..2d2050e969d 100644
--- a/Simulation/BeamEffects/src/GenEventRotator.cxx
+++ b/Simulation/BeamEffects/src/GenEventRotator.cxx
@@ -17,8 +17,8 @@
 #include "CLHEP/Units/PhysicalConstants.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace Simulation
 {
diff --git a/Simulation/BeamEffects/src/GenEventRotator.h b/Simulation/BeamEffects/src/GenEventRotator.h
index 9850aac2651..a1f71c056f8 100644
--- a/Simulation/BeamEffects/src/GenEventRotator.h
+++ b/Simulation/BeamEffects/src/GenEventRotator.h
@@ -20,9 +20,7 @@
 #include "CLHEP/Geometry/Transform3D.h"
 #include "CLHEP/Vector/LorentzRotation.h"
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle.h"
 
 namespace Simulation {
 
diff --git a/Simulation/BeamEffects/src/GenEventValidityChecker.cxx b/Simulation/BeamEffects/src/GenEventValidityChecker.cxx
index 7c3e4725a88..767b2f025e8 100644
--- a/Simulation/BeamEffects/src/GenEventValidityChecker.cxx
+++ b/Simulation/BeamEffects/src/GenEventValidityChecker.cxx
@@ -10,7 +10,7 @@
 #include "GenEventValidityChecker.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // CLHEP includes
 #include "CLHEP/Geometry/Point3D.h"
diff --git a/Simulation/BeamEffects/src/GenEventVertexPositioner.cxx b/Simulation/BeamEffects/src/GenEventVertexPositioner.cxx
index 37b18fcaf59..589f99cbc19 100644
--- a/Simulation/BeamEffects/src/GenEventVertexPositioner.cxx
+++ b/Simulation/BeamEffects/src/GenEventVertexPositioner.cxx
@@ -10,7 +10,8 @@
 #include "GenEventVertexPositioner.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // Framework includes
 #include "HepMC_Interfaces/ILorentzVectorGenerator.h"
diff --git a/Simulation/BeamEffects/src/VertexPositionFromFile.cxx b/Simulation/BeamEffects/src/VertexPositionFromFile.cxx
index 93644e31e35..e9c249493f2 100644
--- a/Simulation/BeamEffects/src/VertexPositionFromFile.cxx
+++ b/Simulation/BeamEffects/src/VertexPositionFromFile.cxx
@@ -10,7 +10,7 @@
 #include "VertexPositionFromFile.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 // CLHEP includes
 #include "CLHEP/Vector/LorentzVector.h"
 // EventInfo
diff --git a/Simulation/BeamEffects/src/ZeroLifetimePositioner.cxx b/Simulation/BeamEffects/src/ZeroLifetimePositioner.cxx
index 7833a05bfff..0b58be6c4d7 100644
--- a/Simulation/BeamEffects/src/ZeroLifetimePositioner.cxx
+++ b/Simulation/BeamEffects/src/ZeroLifetimePositioner.cxx
@@ -6,7 +6,8 @@
 #include "ZeroLifetimePositioner.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // CLHEP includes
 #include "CLHEP/Vector/LorentzVector.h"
diff --git a/Simulation/BeamEffects/test/BeamEffectsAlg_test.cxx b/Simulation/BeamEffects/test/BeamEffectsAlg_test.cxx
index 83359e87137..29648675fd5 100644
--- a/Simulation/BeamEffects/test/BeamEffectsAlg_test.cxx
+++ b/Simulation/BeamEffects/test/BeamEffectsAlg_test.cxx
@@ -21,7 +21,9 @@
 // #include "gmock/gmock.h"
 
 // HepMC includes
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // CLHEP includes
 #include "CLHEP/Vector/LorentzVector.h"
diff --git a/Simulation/FastShower/FastCaloSim/CMakeLists.txt b/Simulation/FastShower/FastCaloSim/CMakeLists.txt
index d1ee445c139..916d464d5ca 100644
--- a/Simulation/FastShower/FastCaloSim/CMakeLists.txt
+++ b/Simulation/FastShower/FastCaloSim/CMakeLists.txt
@@ -27,6 +27,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Generators/GeneratorObjects
                           Simulation/FastShower/FastCaloSimAthenaPool
                           PRIVATE
+                          Generators/AtlasHepMC
                           Control/AthAllocators
                           Database/AthenaPOOL/AthenaPoolUtilities
                           DetectorDescription/AtlasDetDescr
@@ -43,7 +44,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( Eigen )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Gpad Cint Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint Graf Graf3d Html Postscript Gui GX11TTF GX11 )
 
@@ -82,12 +82,12 @@ atlas_add_library( FastCaloSimLib
                    PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} CaloEvent CaloIdentifier AthenaBaseComps AthenaKernel Identifier GaudiKernel LArRecEvent TileEvent TrkEventPrimitives TrkParameters TrkExInterfaces CaloDetDescrLib StoreGateLib SGtests
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} AthAllocators AthenaPoolUtilities AtlasDetDescr GeoPrimitives EventKernel NavFourMom GeneratorObjects TruthUtils FastCaloSimAthenaPool PathResolver TrkGeometry TrkSurfaces TrkMaterialOnTrack )
+                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthAllocators AthenaPoolUtilities AtlasDetDescr GeoPrimitives EventKernel NavFourMom GeneratorObjects TruthUtils FastCaloSimAthenaPool PathResolver TrkGeometry TrkSurfaces TrkMaterialOnTrack )
 
 atlas_add_component( FastCaloSim
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} CaloDetDescrLib CaloEvent CaloIdentifier AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier GaudiKernel LArRecEvent TileEvent TrkEventPrimitives TrkParameters TrkExInterfaces AthAllocators AthenaPoolUtilities AtlasDetDescr GeoPrimitives EventKernel NavFourMom GeneratorObjects TruthUtils FastCaloSimAthenaPool PathResolver TrkGeometry TrkSurfaces TrkMaterialOnTrack FastCaloSimLib )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} CaloDetDescrLib CaloEvent CaloIdentifier AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier GaudiKernel LArRecEvent TileEvent TrkEventPrimitives TrkParameters TrkExInterfaces AthAllocators AthenaPoolUtilities AtlasDetDescr GeoPrimitives EventKernel NavFourMom GeneratorObjects TruthUtils FastCaloSimAthenaPool PathResolver TrkGeometry TrkSurfaces TrkMaterialOnTrack FastCaloSimLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h b/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h
index d148ee2b61f..91e0b289f4c 100755
--- a/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h
+++ b/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h
@@ -26,10 +26,9 @@
 
 
 
-namespace HepMC {
-  class GenParticle;
-  class GenVertex;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
+
 
 namespace Trk {
   class TrackingVolume;
diff --git a/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx b/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx
index a0e89b3136b..8f28bbda525 100755
--- a/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx
+++ b/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx
@@ -24,8 +24,8 @@
 #endif
 #include "CLHEP/Random/RandGaussZiggurat.h"
 #include "CLHEP/Random/RandFlat.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 
 #include "PathResolver/PathResolver.h"
diff --git a/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiParticleGunPileup.h b/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiParticleGunPileup.h
index 8ed8b97c082..3ddad2b3c77 100644
--- a/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiParticleGunPileup.h
+++ b/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiParticleGunPileup.h
@@ -18,9 +18,7 @@
 #include "GeneratorModules/GenModule.h"
 #include "FastChainPileup/Samplers.h"
 
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 class MultiParticleGunPileup : public GenModule {
 
diff --git a/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiPy8Pileup.h b/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiPy8Pileup.h
index b1f674c029b..b80f40607a1 100644
--- a/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiPy8Pileup.h
+++ b/Simulation/FastSimulation/FastChainPileup/FastChainPileup/MultiPy8Pileup.h
@@ -18,9 +18,7 @@
 
 #include "Pythia8_i/Pythia8_i.h"
 
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 class MultiPy8Pileup : public Pythia8_i {
 
diff --git a/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h b/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h
index 5fe3f04dbb5..5c7e0f52bfa 100644
--- a/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h
+++ b/Simulation/FastSimulation/FastSimulationEvent/FastSimulationEvent/GenParticleEnergyDepositMap.h
@@ -18,9 +18,7 @@
 #include <map>
 #include <utility>
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace FSim {
 
diff --git a/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt b/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt
index 54fe30ab2ce..3510ec858b9 100644
--- a/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt
+++ b/Simulation/G4Atlas/G4AtlasAlg/CMakeLists.txt
@@ -15,6 +15,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/StoreGate
                           DetectorDescription/GeoModel/GeoModelInterfaces
                           Event/EventInfo
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           Simulation/G4Atlas/G4AtlasInterfaces
                           Simulation/G4Sim/MCTruthBase
@@ -24,7 +25,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( XercesC )
 find_package( Eigen )
 
@@ -35,14 +35,14 @@ atlas_add_library( G4AtlasAlgLib
                      PUBLIC_HEADERS G4AtlasAlg
                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
  ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel G4AtlasInterfaces SGTools StoreGateLib SGtests EventInfo GeneratorObjects MCTruthBaseLib )
+                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel GaudiKernel G4AtlasInterfaces SGTools StoreGateLib SGtests EventInfo GeneratorObjects MCTruthBaseLib )
 
 # Component(s) in the package:
 atlas_add_component( G4AtlasAlg
                      src/components/*.cxx
                      PUBLIC_HEADERS G4AtlasAlg
                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel G4AtlasInterfaces G4AtlasAlgLib SGTools StoreGateLib SGtests EventInfo GeneratorObjects MCTruthBaseLib )
+                     LINK_LIBRARIES ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps AthenaKernel GaudiKernel G4AtlasInterfaces G4AtlasAlgLib SGTools StoreGateLib SGtests EventInfo GeneratorObjects MCTruthBaseLib )
 
 #Test G4AtlasAlg
 #atlas_add_test( G4AtlasAlgConfigNew_Test
diff --git a/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt b/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt
index e49db9253e1..70bbbadc14f 100644
--- a/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt
+++ b/Simulation/G4Atlas/G4AtlasTests/CMakeLists.txt
@@ -22,6 +22,7 @@ atlas_depends_on_subdirs( PUBLIC
                           ForwardDetectors/ALFA/ALFA_SimEv
                           ForwardDetectors/LUCID/LUCID_SimUtils/LUCID_SimEvent
                           ForwardDetectors/ZDC/ZDC_SimEvent
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           InnerDetector/InDetSimEvent
                           LArCalorimeter/LArSimEvent
@@ -42,7 +43,6 @@ atlas_depends_on_subdirs( PUBLIC
 find_package( CLHEP )
 find_package( Eigen )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( XercesC )
 
@@ -50,7 +50,7 @@ find_package( XercesC )
 atlas_add_component( G4AtlasTests
                      src/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent AthenaKernel StoreGateLib SGtests GeoAdaptors GeoPrimitives Identifier EventInfo ALFA_SimEv LUCID_SimEvent ZDC_SimEvent GeneratorObjects InDetSimEvent LArSimEvent MuonReadoutGeometry MuonIdHelpersLib MuonSimEvent McParticleEvent G4AtlasToolsLib MCTruth HitManagement TileDetDescr TileIdentifier TileSimEvent )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent AthenaKernel StoreGateLib SGtests GeoAdaptors GeoPrimitives Identifier EventInfo ALFA_SimEv LUCID_SimEvent ZDC_SimEvent GeneratorObjects InDetSimEvent LArSimEvent MuonReadoutGeometry MuonIdHelpersLib MuonSimEvent McParticleEvent G4AtlasToolsLib MCTruth HitManagement TileDetDescr TileIdentifier TileSimEvent )
 
 # Install files from the package:
 atlas_install_headers( G4AtlasTests )
diff --git a/Simulation/G4Atlas/G4AtlasTests/src/LArHitsTestTool.cxx b/Simulation/G4Atlas/G4AtlasTests/src/LArHitsTestTool.cxx
index 324be62034a..4ae39cccf85 100644
--- a/Simulation/G4Atlas/G4AtlasTests/src/LArHitsTestTool.cxx
+++ b/Simulation/G4Atlas/G4AtlasTests/src/LArHitsTestTool.cxx
@@ -8,7 +8,7 @@
 #include "LArSimEvent/LArHit.h"
 #include "LArSimEvent/LArHitContainer.h"
 #include "CaloDetDescr/CaloDetDescrElement.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <TH2D.h>
 #include <TH1.h>
diff --git a/Simulation/G4Atlas/G4AtlasTests/src/LucidHitsTestTool.cxx b/Simulation/G4Atlas/G4AtlasTests/src/LucidHitsTestTool.cxx
index 196b08aad98..cc8887f549e 100644
--- a/Simulation/G4Atlas/G4AtlasTests/src/LucidHitsTestTool.cxx
+++ b/Simulation/G4Atlas/G4AtlasTests/src/LucidHitsTestTool.cxx
@@ -6,7 +6,7 @@
 
 #include "LUCID_SimEvent/LUCID_SimHitCollection.h"
 //#include "LUCID_SimEvent/LUCID_SimHit.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <string>
 #include <cmath>
diff --git a/Simulation/G4Atlas/G4AtlasTests/src/SiHitsTestTool.cxx b/Simulation/G4Atlas/G4AtlasTests/src/SiHitsTestTool.cxx
index 153f0c27d9e..d0d491c0aeb 100644
--- a/Simulation/G4Atlas/G4AtlasTests/src/SiHitsTestTool.cxx
+++ b/Simulation/G4Atlas/G4AtlasTests/src/SiHitsTestTool.cxx
@@ -8,7 +8,7 @@
 
 #include "GeoAdaptors/GeoSiHit.h"
 #include "InDetSimEvent/SiHitCollection.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #include <TH2D.h>
 #include <TProfile.h>
diff --git a/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.cxx b/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.cxx
index 1ae66bd5450..a52f988aa5a 100644
--- a/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.cxx
+++ b/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.cxx
@@ -4,7 +4,7 @@
 
 #include "SimTestToolBase.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "GeneratorObjects/McEventCollection.h"
 
 SimTestToolBase::SimTestToolBase(const std::string& type, 
diff --git a/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.h b/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.h
index b90a86e4c64..5f8122d261a 100644
--- a/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.h
+++ b/Simulation/G4Atlas/G4AtlasTests/src/SimTestToolBase.h
@@ -16,9 +16,8 @@
 #include "AthenaKernel/errorcheck.h"
 #include "GaudiKernel/ITHistSvc.h"
 
-namespace HepMC {
-  class GenParticle;
-}
+
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 class TProfile;
 class TH1;
diff --git a/Simulation/G4Atlas/G4AtlasTests/src/TruthTestTool.cxx b/Simulation/G4Atlas/G4AtlasTests/src/TruthTestTool.cxx
index 72952dd7370..a14822d2e86 100644
--- a/Simulation/G4Atlas/G4AtlasTests/src/TruthTestTool.cxx
+++ b/Simulation/G4Atlas/G4AtlasTests/src/TruthTestTool.cxx
@@ -4,7 +4,7 @@
 
 #include "TruthTestTool.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
 
diff --git a/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt b/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt
index 772d4500d8d..ccba6774889 100644
--- a/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt
+++ b/Simulation/G4Extensions/G4ExternalDecay/CMakeLists.txt
@@ -12,7 +12,6 @@ atlas_depends_on_subdirs( PRIVATE
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( Lhapdf )
 find_package( Pythia8 )
 find_package( XercesC )
@@ -31,7 +30,7 @@ if( MCUTILS_FOUND )
 endif()
 if( HEPMC_FOUND )
    list( APPEND extra_includes ${HEPMC_INCLUDE_DIRS} )
-   list( APPEND extra_libs ${HEPMC_LIBRARIES} )
+   list( APPEND extra_libs AtlasHepMCLib )
 endif()
 
 
@@ -43,5 +42,5 @@ atlas_add_library( G4ExternalDecay
                    PRIVATE_INCLUDE_DIRS ${HEPMC_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${PYTHIA8_LIBRARIES} ${LHAPDF_LIBRARIES} ${GEANT4_LIBRARIES} Pythia8_iLib ${extra_libs}
-                   PRIVATE_LINK_LIBRARIES ${HEPMC_LIBRARIES} )
+                   PRIVATE_LINK_LIBRARIES AtlasHepMCLib )
 
diff --git a/Simulation/G4Extensions/G4ExternalDecay/src/Pythia8ForDecays.cxx b/Simulation/G4Extensions/G4ExternalDecay/src/Pythia8ForDecays.cxx
index 1bac7b120da..d30a0e9e8c8 100644
--- a/Simulation/G4Extensions/G4ExternalDecay/src/Pythia8ForDecays.cxx
+++ b/Simulation/G4Extensions/G4ExternalDecay/src/Pythia8ForDecays.cxx
@@ -14,9 +14,8 @@
 #include "Pythia8/RHadrons.h"
 
 // HepMC for translation into format Pythia likes
-#include "HepMC/IO_HEPEVT.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // G4 classes for translation into G4 format
 #include "G4ParticleDefinition.hh"
diff --git a/Simulation/G4Sim/MCTruth/CMakeLists.txt b/Simulation/G4Sim/MCTruth/CMakeLists.txt
index b7f9bf9d808..4dc85f6995a 100644
--- a/Simulation/G4Sim/MCTruth/CMakeLists.txt
+++ b/Simulation/G4Sim/MCTruth/CMakeLists.txt
@@ -8,6 +8,7 @@ atlas_subdir( MCTruth )
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaKernel
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           PRIVATE
                           Simulation/ISF/ISF_Core/ISF_Event
@@ -16,7 +17,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( XercesC )
 
 # Component(s) in the package:
@@ -25,5 +25,5 @@ atlas_add_library( MCTruth
                    PUBLIC_HEADERS MCTruth
                    INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel GeneratorObjects
+                   LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GeneratorObjects
                    PRIVATE_LINK_LIBRARIES ISF_Event SimHelpers )
diff --git a/Simulation/G4Sim/MCTruth/MCTruth/EventInformation.h b/Simulation/G4Sim/MCTruth/MCTruth/EventInformation.h
index 8e1766937dc..9ea3748848a 100644
--- a/Simulation/G4Sim/MCTruth/MCTruth/EventInformation.h
+++ b/Simulation/G4Sim/MCTruth/MCTruth/EventInformation.h
@@ -5,7 +5,8 @@
 #ifndef EventInformation_H
 #define EventInformation_H
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "G4ThreeVector.hh"
 #include "G4VUserEventInformation.hh"
 
diff --git a/Simulation/G4Sim/MCTruth/MCTruth/PrimaryParticleInformation.h b/Simulation/G4Sim/MCTruth/MCTruth/PrimaryParticleInformation.h
index d620c153477..13eb66a066f 100644
--- a/Simulation/G4Sim/MCTruth/MCTruth/PrimaryParticleInformation.h
+++ b/Simulation/G4Sim/MCTruth/MCTruth/PrimaryParticleInformation.h
@@ -6,7 +6,8 @@
 #define PrimaryParticleInformation_H
 
 #include "G4VUserPrimaryParticleInformation.hh"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace ISF {
   class ISFParticle;
diff --git a/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h b/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h
index 30142b63175..d86c5e533d4 100644
--- a/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h
+++ b/Simulation/G4Sim/MCTruth/MCTruth/TruthEvent.h
@@ -5,7 +5,7 @@
 #ifndef TruthEvent_H
 #define TruthEvent_H
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "AthenaKernel/CLASS_DEF.h"
 
 typedef HepMC::GenEvent TruthEvent;
diff --git a/Simulation/G4Sim/MCTruth/MCTruth/VTrackInformation.h b/Simulation/G4Sim/MCTruth/MCTruth/VTrackInformation.h
index 188ac20eaf7..335ccf9f45d 100644
--- a/Simulation/G4Sim/MCTruth/MCTruth/VTrackInformation.h
+++ b/Simulation/G4Sim/MCTruth/MCTruth/VTrackInformation.h
@@ -9,9 +9,7 @@
 
 enum TrackClassification { Primary, RegeneratedPrimary, RegisteredSecondary, Secondary, BarcodeOnly } ;
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace ISF {
   class ISFParticle;
diff --git a/Simulation/G4Sim/MCTruth/src/TrackInformation.cxx b/Simulation/G4Sim/MCTruth/src/TrackInformation.cxx
index f60e23aae2f..62470bdc8b9 100644
--- a/Simulation/G4Sim/MCTruth/src/TrackInformation.cxx
+++ b/Simulation/G4Sim/MCTruth/src/TrackInformation.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "MCTruth/TrackInformation.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 
 TrackInformation::TrackInformation():m_regenerationNr(0),m_theParticle(0),m_theBaseISFParticle(0),m_returnedToISF(false)
 {
diff --git a/Simulation/G4Sim/MCTruthBase/CMakeLists.txt b/Simulation/G4Sim/MCTruthBase/CMakeLists.txt
index 91b2c0650de..7400360b76e 100644
--- a/Simulation/G4Sim/MCTruthBase/CMakeLists.txt
+++ b/Simulation/G4Sim/MCTruthBase/CMakeLists.txt
@@ -12,6 +12,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Simulation/G4Sim/SimHelpers
                           Simulation/ISF/ISF_Core/ISF_Interfaces
                           PRIVATE
+                          Generators/AtlasHepMC                          
                           Control/AthenaBaseComps
                           Control/StoreGate
                           Simulation/G4Atlas/G4AtlasInterfaces
@@ -24,7 +25,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( XercesC )
 
 # Component(s) in the package:
@@ -33,7 +33,7 @@ atlas_add_library( MCTruthBaseLib
                    PUBLIC_HEADERS MCTruthBase
                    INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaKernel GaudiKernel StoreGateLib SGtests G4AtlasToolsLib
+                   LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaKernel GaudiKernel StoreGateLib SGtests G4AtlasToolsLib
                    PRIVATE_LINK_LIBRARIES AthenaBaseComps
                    G4AtlasInterfaces MCTruth SimHelpers ISF_Interfaces
                    AtlasDetDescr ISF_Geant4Event
@@ -44,7 +44,7 @@ atlas_add_component( MCTruthBase
                      INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
                      LINK_LIBRARIES ${GEANT4_LIBRARIES}
                      ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES}
-                     ${HEPMC_LIBRARIES} AthenaKernel GaudiKernel
+                     AtlasHepMCLib AthenaKernel GaudiKernel
                      AthenaBaseComps StoreGateLib SGtests
                      G4AtlasInterfaces G4AtlasToolsLib MCTruth
                      SimHelpers ISF_Interfaces
diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h
index bc2a7cb24d0..e556c97518a 100755
--- a/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h
+++ b/Simulation/G4Utilities/MCTruthSimAlgs/src/MergeMcEventCollTool.h
@@ -15,10 +15,8 @@
 
 class McEventCollection;
 
-namespace HepMC {
-  class GenParticle;
-  class GenVertex;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
 /** @class MergeMcEventCollTool
  *  @brief a PileUpTool to merge MC truth collection in the overlay store
  *
diff --git a/Simulation/G4Utilities/MCTruthSimAlgs/src/SimpleMergeMcEventCollTool.h b/Simulation/G4Utilities/MCTruthSimAlgs/src/SimpleMergeMcEventCollTool.h
index e9b5745e5aa..15e3259f717 100644
--- a/Simulation/G4Utilities/MCTruthSimAlgs/src/SimpleMergeMcEventCollTool.h
+++ b/Simulation/G4Utilities/MCTruthSimAlgs/src/SimpleMergeMcEventCollTool.h
@@ -14,10 +14,8 @@
 
 class McEventCollection;
 
-namespace HepMC {
-  class GenParticle;
-  class GenVertex;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/GenVertex_fwd.h"
 /** @class SimpleMergeMcEventCollTool
  *  @brief a PileUpTool to merge MC truth collection in the overlay store
  *
diff --git a/Simulation/ISF/ISF_Core/ISF_Algorithms/CMakeLists.txt b/Simulation/ISF/ISF_Core/ISF_Algorithms/CMakeLists.txt
index ee174effb78..3cbe4f08756 100644
--- a/Simulation/ISF/ISF_Core/ISF_Algorithms/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Core/ISF_Algorithms/CMakeLists.txt
@@ -17,6 +17,7 @@ atlas_depends_on_subdirs(
    LArCalorimeter/LArSimEvent
    TileCalorimeter/TileSimEvent
    MuonSpectrometer/MuonSimEvent
+   Generators/AtlasHepMC
    Generators/GeneratorObjects
    Simulation/Interfaces/HepMC_Interfaces
    Simulation/ISF/ISF_Core/ISF_Event
diff --git a/Simulation/ISF/ISF_Core/ISF_Algorithms/src/SimHitTreeCreator.cxx b/Simulation/ISF/ISF_Core/ISF_Algorithms/src/SimHitTreeCreator.cxx
index 92228d98721..5ecfb37021a 100644
--- a/Simulation/ISF/ISF_Core/ISF_Algorithms/src/SimHitTreeCreator.cxx
+++ b/Simulation/ISF/ISF_Core/ISF_Algorithms/src/SimHitTreeCreator.cxx
@@ -10,7 +10,7 @@
 #include "GeneratorObjects/HepMcParticleLink.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // ROOT includes
 #include "TTree.h"
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt b/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt
index 6319de57568..57c9aeb9d18 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Core/ISF_Event/CMakeLists.txt
@@ -11,6 +11,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           DetectorDescription/AtlasDetDescr
                           DetectorDescription/GeoPrimitives
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           GaudiKernel
                           Simulation/Barcode/BarcodeEvent )
@@ -18,7 +19,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( Eigen )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( ISF_Event
@@ -26,10 +26,10 @@ atlas_add_library( ISF_Event
                    PUBLIC_HEADERS ISF_Event
                    INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
                    DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} TestTools AthenaBaseComps AtlasDetDescr GeoPrimitives GeneratorObjects GaudiKernel )
+                   LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} TestTools AthenaBaseComps AtlasDetDescr GeoPrimitives GeneratorObjects GaudiKernel )
 
 atlas_add_test( ISFParticle_test
                 SOURCES
                 test/ISFParticle_test.cxx
                 INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} TestTools AthenaBaseComps AtlasDetDescr GeoPrimitives GeneratorObjects GaudiKernel ISF_Event )
+                LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} TestTools AthenaBaseComps AtlasDetDescr GeoPrimitives GeneratorObjects GaudiKernel ISF_Event )
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/HepMCHelper.h b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/HepMCHelper.h
index bde94521e48..ca3491cdbf5 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/HepMCHelper.h
+++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/HepMCHelper.h
@@ -16,13 +16,11 @@
 #include "ISF_Event/ISFParticle.h"
 
 // HepMC includes
-#include "HepMC/GenRanges.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenRanges.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // forward declarations
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace ISF {
 
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ITruthIncident.h b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ITruthIncident.h
index 840d890fce5..3882f1d43cc 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ITruthIncident.h
+++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ITruthIncident.h
@@ -16,10 +16,8 @@
 #include "BarcodeEvent/PhysicsProcessCode.h"
 
 // forward declarations
-namespace HepMC {
-  class FourVector;
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
+#include "AtlasHepMC/SimpleVector_fwd.h"
 
 namespace ISF {
 
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ParticleHelper.h b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ParticleHelper.h
index 358c89a6f1a..48072b67b79 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ParticleHelper.h
+++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/ParticleHelper.h
@@ -10,9 +10,7 @@
 #define ISF_EVENT_PARTICLEHELPER_H 1
 
 // forward declarations
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace ISF {
 
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h
index c430edc6306..599779d3571 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h
+++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h
@@ -10,7 +10,7 @@
 #define ISF_EVENT_TRUTHBINDING_H
 
 // HepMC
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 namespace ISF {
 
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/src/ISFTruthIncident.cxx b/Simulation/ISF/ISF_Core/ISF_Event/src/ISFTruthIncident.cxx
index 484384db43b..e91de330fe4 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/src/ISFTruthIncident.cxx
+++ b/Simulation/ISF/ISF_Core/ISF_Event/src/ISFTruthIncident.cxx
@@ -14,8 +14,8 @@
 #include "ISF_Event/ParticleHelper.h"
 
 // HepMC includes
-#include "HepMC/SimpleVector.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/GenParticle.h"
 
 ISF::ISFTruthIncident::ISFTruthIncident( ISF::ISFParticle &parent,
                                          const ISFParticleVector& children,
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/src/ParticleHelper.cxx b/Simulation/ISF/ISF_Core/ISF_Event/src/ParticleHelper.cxx
index 8f90542a259..c8de9a6e0bd 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/src/ParticleHelper.cxx
+++ b/Simulation/ISF/ISF_Core/ISF_Event/src/ParticleHelper.cxx
@@ -10,9 +10,9 @@
 #include "ISF_Event/ParticleHelper.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/Flow.h"
-#include "HepMC/SimpleVector.h" // HepMC::FourVector
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/Flow.h"
+#include "AtlasHepMC/SimpleVector.h" // HepMC::FourVector
 
 // ISF includes
 #include "ISF_Event/ISFParticle.h"
diff --git a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h
index 13b2bc77356..6c51d93c65f 100644
--- a/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h
+++ b/Simulation/ISF/ISF_Core/ISF_Interfaces/ISF_Interfaces/IInputConverter.h
@@ -25,9 +25,7 @@
 // forward declarations
 class McEventCollection;
 class G4Event;
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace ISF {
 
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt b/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt
index 5ca1e587b71..8dc7cb1a101 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Core/ISF_Services/CMakeLists.txt
@@ -15,6 +15,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           Control/StoreGate
                           DetectorDescription/AtlasDetDescr
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           Generators/TruthUtils
                           InnerDetector/InDetSimEvent
@@ -35,7 +36,6 @@ atlas_depends_on_subdirs( PUBLIC
 find_package( CLHEP )
 find_package( Eigen )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( GTest )
 find_package( GMock )
@@ -48,7 +48,7 @@ atlas_add_component( ISF_Services
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${GEANT4_LIBRARIES} ${HEPMC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPPDT_LIBRARIES} GaudiKernel CaloIdentifier CaloSimEvent AthenaBaseComps StoreGateLib SGtests AtlasDetDescr GeneratorObjects InDetSimEvent MuonSimEvent G4AtlasInterfaces MCTruth SimHelpers ISF_Event ISF_Interfaces TileSimEvent PmbCxxUtils TruthUtils )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${GEANT4_LIBRARIES} AtlasHepMCLib ${CLHEP_LIBRARIES} ${HEPPDT_LIBRARIES} GaudiKernel CaloIdentifier CaloSimEvent AthenaBaseComps StoreGateLib SGtests AtlasDetDescr GeneratorObjects InDetSimEvent MuonSimEvent G4AtlasInterfaces MCTruth SimHelpers ISF_Event ISF_Interfaces TileSimEvent PmbCxxUtils TruthUtils )
 
 # Tests in the package:
 atlas_add_test( InputConverter_test
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.cxx b/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.cxx
index 9005d9b755b..8217d0932ed 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.cxx
+++ b/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.cxx
@@ -40,8 +40,9 @@
 #include "G4LorentzVector.hh"
 #include "G4TransportationManager.hh"
 // HepMC includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 // CLHEP includes
 #include "CLHEP/Geometry/Point3D.h"
 #include "CLHEP/Geometry/Vector3D.h"
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.h b/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.h
index 5f57a516d13..707ad17f0a4 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.h
+++ b/Simulation/ISF/ISF_Core/ISF_Services/src/InputConverter.h
@@ -27,10 +27,9 @@ namespace Barcode {
 namespace HepPDT {
   class ParticleDataTable;
 }
-namespace HepMC {
-  class GenParticle;
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/GenParticle_fwd.h"
+
 class IPartPropSvc;
 class McEventCollection;
 namespace ISFTesting {
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.cxx b/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.cxx
index 13c532fcd0f..4814b463352 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.cxx
+++ b/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.cxx
@@ -21,10 +21,10 @@
 //
 #include "TruthUtils/HepMCHelpers.h" // for MC::findChildren(...)
 // HepMC includes
-#include "HepMC/SimpleVector.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 // CLHEP includes
 #include "CLHEP/Geometry/Point3D.h"
 
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.h b/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.h
index e02cd816cd1..601b9a85adf 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.h
+++ b/Simulation/ISF/ISF_Core/ISF_Services/src/TruthSvc.h
@@ -36,9 +36,8 @@ namespace Barcode {
   class IBarcodeSvc;
 }
 
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
+#include "AtlasHepMC/GenVertex.h"
 
 namespace ISFTesting {
   class TruthSvc_test;
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/test/InputConverter_test.cxx b/Simulation/ISF/ISF_Core/ISF_Services/test/InputConverter_test.cxx
index 8c6da50b4e8..b65683411bb 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/test/InputConverter_test.cxx
+++ b/Simulation/ISF/ISF_Core/ISF_Services/test/InputConverter_test.cxx
@@ -37,8 +37,8 @@
 #include "GeoPrimitives/GeoPrimitives.h"
 
 // HepMC
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "GeneratorObjects/McEventCollection.h"
 
diff --git a/Simulation/ISF/ISF_Core/ISF_Services/test/TruthSvc_test.cxx b/Simulation/ISF/ISF_Core/ISF_Services/test/TruthSvc_test.cxx
index c83c6fcff88..86c7c58867d 100644
--- a/Simulation/ISF/ISF_Core/ISF_Services/test/TruthSvc_test.cxx
+++ b/Simulation/ISF/ISF_Core/ISF_Services/test/TruthSvc_test.cxx
@@ -41,9 +41,9 @@
 #include "CLHEP/Units/SystemOfUnits.h"
 
 // HepMC
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
 
 // STL includes
 #include <cstdlib> // quick_exit
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
index 565408ea49b..39a45f51d69 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/CMakeLists.txt
@@ -32,6 +32,7 @@ atlas_depends_on_subdirs( PUBLIC
                           DetectorDescription/GeoModel/GeoModelInterfaces
                           Event/EventInfo
                           Event/NavFourMom
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           LArCalorimeter/LArSimEvent
                           Simulation/ISF/ISF_Core/ISF_Event
@@ -46,7 +47,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS TreePlayer Cint Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint TMVA Graf Graf3d Gpad Html Postscript Gui GX11TTF GX11 )
 find_package( XercesC )
@@ -72,14 +72,14 @@ atlas_add_library( ISF_FastCaloSimParametrizationLib
                    INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
                    PRIVATE_INCLUDE_DIRS ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${HEPMC_LIBRARIES} CaloGeoHelpers AthenaBaseComps AthenaKernel Identifier GaudiKernel ISF_Interfaces TrkEventPrimitives TrkParameters TrkExInterfaces CaloDetDescrLib StoreGateLib SGtests TileConditionsLib
+                   LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} AtlasHepMCLib CaloGeoHelpers AthenaBaseComps AthenaKernel Identifier GaudiKernel ISF_Interfaces TrkEventPrimitives TrkParameters TrkExInterfaces CaloDetDescrLib StoreGateLib SGtests TileConditionsLib
                    PRIVATE_LINK_LIBRARIES ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${GEANT4_LIBRARIES} CaloEvent CaloIdentifier AthenaPoolUtilities GeoAdaptors EventInfo NavFourMom GeneratorObjects LArSimEvent ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces TileDetDescr TileSimEvent TrkGeometry TrkSurfaces TrkMaterialOnTrack )
 
 atlas_add_component( ISF_FastCaloSimParametrization
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${GEANT4_LIBRARIES} CaloDetDescrLib CaloGeoHelpers AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier GaudiKernel ISF_Interfaces TrkEventPrimitives TrkParameters TrkExInterfaces CaloEvent CaloIdentifier AthenaPoolUtilities GeoAdaptors EventInfo NavFourMom GeneratorObjects LArSimEvent ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces TileConditionsLib TileDetDescr TileSimEvent TrkGeometry TrkSurfaces TrkMaterialOnTrack ISF_FastCaloSimParametrizationLib )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPPDT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} CaloDetDescrLib CaloGeoHelpers AthenaBaseComps AthenaKernel StoreGateLib SGtests Identifier GaudiKernel ISF_Interfaces TrkEventPrimitives TrkParameters TrkExInterfaces CaloEvent CaloIdentifier AthenaPoolUtilities GeoAdaptors EventInfo NavFourMom GeneratorObjects LArSimEvent ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces TileConditionsLib TileDetDescr TileSimEvent TrkGeometry TrkSurfaces TrkMaterialOnTrack ISF_FastCaloSimParametrizationLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FastCaloSimParamAlg.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FastCaloSimParamAlg.h
index d2f40379c44..e18e9784e2f 100755
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FastCaloSimParamAlg.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/FastCaloSimParamAlg.h
@@ -29,9 +29,7 @@ namespace ISF_FCS_Parametrization {
   class FCS_StepInfo;
   typedef std::list<FCS_StepInfo*> FCS_StepInfoList;
 }
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
   /**
    *
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h
index cf4b5cc5812..0a385f0be11 100755
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/ISF_HitAnalysis.h
@@ -19,7 +19,7 @@
 //#####################################
 #include "CaloDetDescr/ICaloCoordinateTool.h"
 #include "ISF_FastCaloSimParametrization/FSmap.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "HepPDT/ParticleData.hh"
 #include "GaudiKernel/IPartPropSvc.h"
 #include "TrkParameters/TrackParameters.h"
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/NativeFastCaloSimSvc.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/NativeFastCaloSimSvc.h
index 814030cbda7..c13b34d385a 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/NativeFastCaloSimSvc.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/ISF_FastCaloSimParametrization/NativeFastCaloSimSvc.h
@@ -30,9 +30,7 @@
 class ITrackingGeometrySvc;
 class CaloCellContainer;
 
-namespace HepMC {
-    class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace Trk {
     class TrackingVolume;
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
index bb92012a76c..901fe1c7188 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/CMakeLists.txt
@@ -21,6 +21,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Calorimeter/CaloDetDescr
                           Control/StoreGate
                           Event/NavFourMom
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           Simulation/FastShower/FastCaloSim
                           Simulation/ISF/ISF_Core/ISF_Event
@@ -33,7 +34,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package(lwtnn)
 
 # Component(s) in the package:
@@ -41,7 +41,7 @@ atlas_add_component( ISF_FastCaloSimServices
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${LWTNN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${LWTNN_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel IdDictParser ISF_Interfaces TrkEventPrimitives TrkExInterfaces CaloEvent StoreGateLib SGtests NavFourMom GeneratorObjects FastCaloSimLib ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces ISF_FastCaloSimParametrizationLib PathResolver)
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${LWTNN_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel IdDictParser ISF_Interfaces TrkEventPrimitives TrkExInterfaces CaloEvent StoreGateLib SGtests NavFourMom GeneratorObjects FastCaloSimLib ISF_Event ISF_FastCaloSimEvent ISF_FastCaloSimInterfaces ISF_FastCaloSimParametrizationLib PathResolver)
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx
index 30f7301c78f..0b74cb04c5a 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.cxx
@@ -14,9 +14,9 @@
 #include "ISF_Event/ISFParticleContainer.h"
 
 // HepMC include needed for FastCaloSim
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/SimpleVector.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 
 
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h
index 4daad381356..105652ed6a2 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloSimSvcPU.h
@@ -32,10 +32,7 @@
 class ITrackingGeometrySvc;
 class CaloCellContainer;
 
-namespace HepMC
-{
-    class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace Trk
 {
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloTool.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloTool.cxx
index cf5cb2f0513..5dbcfedbc5d 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloTool.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/src/FastCaloTool.cxx
@@ -7,9 +7,9 @@
 #include "FastCaloTool.h"
 
 // HepMC include needed for FastCaloSim
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/SimpleVector.h"
 #include "CLHEP/Units/SystemOfUnits.h"
 
 // ISF includes
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt
index c0945dcdcdd..0686e08b1af 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/CMakeLists.txt
@@ -17,6 +17,7 @@ atlas_depends_on_subdirs( PUBLIC
                           AtlasGeometryCommon/SubDetectorEnvelopes
                           Control/AthContainers
                           GaudiKernel
+                          Generators/AtlasHepMC
                           Simulation/ISF/ISF_Core/ISF_Event
                           Simulation/ISF/ISF_Core/ISF_Interfaces
                           Tools/PathResolver )
@@ -24,7 +25,6 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 find_package( Eigen )
-find_package( HepMC )
 find_package( HepPDT )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
@@ -33,7 +33,7 @@ atlas_add_component( ISF_PunchThroughTools
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel GeoPrimitives ISF_FastCaloSimInterfaces AthContainers GaudiKernel ISF_Event ISF_Interfaces PathResolver )
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps AthenaKernel GeoPrimitives ISF_FastCaloSimInterfaces AthContainers GaudiKernel ISF_Event ISF_Interfaces PathResolver )
 
 # Install files from the package:
 atlas_install_runtime( Data/*.root )
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.cxx b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.cxx
index 0d27eba27f9..36bf78563c3 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.cxx
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.cxx
@@ -26,10 +26,10 @@
 #include "GaudiKernel/IPartPropSvc.h"
 
 // HepMC
-#include "HepMC/SimpleVector.h"
-#include "HepMC/GenVertex.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/SimpleVector.h"
+#include "AtlasHepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "HepPDT/ParticleDataTable.hh"
 
 // CLHEP
diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.h b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.h
index 588bd44ffac..c11fdc538c7 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.h
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_PunchThroughTools/src/PunchThroughTool.h
@@ -32,9 +32,7 @@ namespace HepPDT {
   class ParticleDataTable;
 }
 
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace Barcode {
   class IBarcodeSvc;
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt
index d5a46436499..f054c56b060 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/CMakeLists.txt
@@ -20,6 +20,7 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           DetectorDescription/AtlasDetDescr
                           Event/EventPrimitives
+                          Generators/AtlasHepMC
                           GaudiKernel
                           InnerDetector/InDetDetDescr/InDetIdentifier
                           InnerDetector/InDetRecEvent/InDetPrepRawData
@@ -35,7 +36,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( Eigen )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
@@ -43,7 +43,7 @@ atlas_add_component( ISF_FatrasRecoTools
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GeoPrimitives Identifier ISF_FatrasEvent TrkEventPrimitives TrkParameters TrkSpacePoint TrkTrackSummary TrkToolInterfaces AtlasDetDescr EventPrimitives GaudiKernel InDetIdentifier InDetPrepRawData SiSpacePoint ISF_FatrasDetDescrModel TrkDetElementBase TrkCompetingRIOsOnTrack TrkEventUtils TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTruthData )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AtlasHepMCLib AthenaBaseComps GeoPrimitives Identifier ISF_FatrasEvent TrkEventPrimitives TrkParameters TrkSpacePoint TrkTrackSummary TrkToolInterfaces AtlasDetDescr EventPrimitives GaudiKernel InDetIdentifier InDetPrepRawData SiSpacePoint ISF_FatrasDetDescrModel TrkDetElementBase TrkCompetingRIOsOnTrack TrkEventUtils TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTruthData )
 
 # Install files from the package:
 atlas_install_headers( ISF_FatrasRecoTools )
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/PRD_PlanarTruthTrajectoryBuilder.h b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/PRD_PlanarTruthTrajectoryBuilder.h
index e8446ed274d..274be6f7722 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/PRD_PlanarTruthTrajectoryBuilder.h
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/ISF_FatrasRecoTools/PRD_PlanarTruthTrajectoryBuilder.h
@@ -19,9 +19,7 @@
 class AtlasDetectorID;
 class PRD_MultiTruthCollection;  
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
   
 namespace Trk {
   class IPRD_Provider;
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/src/PRD_PlanarTruthTrajectoryBuilder.cxx b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/src/PRD_PlanarTruthTrajectoryBuilder.cxx
index 3357a158a01..0e31e6c0261 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/src/PRD_PlanarTruthTrajectoryBuilder.cxx
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasRecoTools/src/PRD_PlanarTruthTrajectoryBuilder.cxx
@@ -19,8 +19,8 @@
 #include "AtlasDetDescr/AtlasDetectorID.h"
 
 // HepMC
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 /** Constructor **/
 iFatras::PRD_PlanarTruthTrajectoryBuilder::PRD_PlanarTruthTrajectoryBuilder(const std::string& t, const std::string& n, const IInterface* p) : 
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt
index 2dfae7ef630..88917c813ef 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/CMakeLists.txt
@@ -14,6 +14,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Simulation/ISF/ISF_Fatras/ISF_FatrasInterfaces
                           Tracking/TrkEvent/TrkEventPrimitives
                           PRIVATE
+                          Generators/AtlasHepMC
                           Control/StoreGate
                           Simulation/Barcode/BarcodeEvent
                           Simulation/G4Atlas/G4AtlasAlg
@@ -25,7 +26,6 @@ atlas_depends_on_subdirs( PUBLIC
 find_package( Boost COMPONENTS filesystem thread system )
 find_package( CLHEP )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( XercesC )
 
@@ -34,7 +34,7 @@ atlas_add_component( ISF_FatrasToolsG4
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${GEANT4_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel ISF_Event ISF_FatrasInterfaces TrkEventPrimitives StoreGateLib SGtests ISF_Interfaces TrkGeometry )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} AthenaBaseComps AthenaKernel GaudiKernel ISF_Event ISF_FatrasInterfaces TrkEventPrimitives StoreGateLib SGtests ISF_Interfaces TrkGeometry )
 
 # Install files from the package:
 atlas_install_headers( ISF_FatrasToolsG4 )
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4HadIntProcessor.cxx b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4HadIntProcessor.cxx
index ab7c634f6c8..e0991530033 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4HadIntProcessor.cxx
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4HadIntProcessor.cxx
@@ -58,8 +58,8 @@
 
 // CLHEP
 #include "CLHEP/Units/SystemOfUnits.h"
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 #include "CLHEP/Random/RandExponential.h"
 #include "CLHEP/Random/RandFlat.h"
 
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4ParticleDecayHelper.cxx b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4ParticleDecayHelper.cxx
index 7dfd4f8a9ab..8630851e1a0 100644
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4ParticleDecayHelper.cxx
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasToolsG4/src/G4ParticleDecayHelper.cxx
@@ -24,7 +24,7 @@
 // CLHEP
 #include "CLHEP/Units/SystemOfUnits.h"
 #include "CLHEP/Units/PhysicalConstants.h"
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "CLHEP/Vector/LorentzVector.h"
 #include "CLHEP/Random/RandFlat.h"
 // G4
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt
index 076dc020025..2d4f2045e7d 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/CMakeLists.txt
@@ -13,6 +13,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Simulation/Barcode/BarcodeEvent
                           Simulation/G4Sim/MCTruth
                           PRIVATE
+                          Generators/AtlasHepMC
                           DetectorDescription/GeoPrimitives )
 
 
@@ -21,7 +22,6 @@ atlas_depends_on_subdirs( PUBLIC
 find_package( CLHEP )
 find_package( Eigen )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( XercesC )
 
@@ -34,7 +34,7 @@ atlas_add_library( ISF_Geant4Event
                    ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS}
                    ${EIGEN_INCLUDE_DIRS}
                    LINK_LIBRARIES ${ROOT_LIBRARIES}
-                   ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES}
+                   ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib
                    ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} ISF_Event
                    SimHelpers GeoPrimitives MCTruth)
 
@@ -42,6 +42,6 @@ atlas_add_library( ISF_Geant4Event
 #               INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
 #              ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
 #               LINK_LIBRARIES
-#              ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES}
+#              ${CLHEP_LIBRARIES} AtlasHepMCLib
 #               ${EIGEN_LIBRARIES} ISF_Event SimHelpers GeoPrimitives
 #               BarcodeEvent MCTruth)
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/Geant4TruthIncident.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/Geant4TruthIncident.h
index c055429bad8..27693a6dfd2 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/Geant4TruthIncident.h
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/Geant4TruthIncident.h
@@ -12,7 +12,7 @@
 #include "ISF_Event/ITruthIncident.h"
 
 // HepMC includes
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/SimpleVector.h"
 
 //Geant4 includes
 #include "G4ThreeVector.hh"
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/ISFG4Helper.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/ISFG4Helper.h
index 1e83d369f91..443734dee6a 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/ISFG4Helper.h
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/ISF_Geant4Event/ISFG4Helper.h
@@ -15,9 +15,7 @@
 #include "MCTruth/VTrackInformation.h"
 
 // forward declarations
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 namespace ISF {
   class TruthBinding;
 }
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/src/Geant4TruthIncident.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/src/Geant4TruthIncident.cxx
index 1a28406ecf4..4e47e2f8ed4 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/src/Geant4TruthIncident.cxx
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Event/src/Geant4TruthIncident.cxx
@@ -19,7 +19,7 @@
 #include "GaudiKernel/PhysicalConstants.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // Geant4 includes
 #include "G4Step.hh"
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt
index baaa3a64181..37851eb4673 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/CMakeLists.txt
@@ -14,6 +14,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           Control/StoreGate
                           DetectorDescription/AtlasDetDescr
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           Simulation/G4Atlas/G4AtlasTools
 						  Simulation/G4Atlas/G4AtlasAlg
@@ -27,7 +28,6 @@ atlas_depends_on_subdirs( PUBLIC
 find_package( CLHEP )
 find_package( Eigen )
 find_package( Geant4 )
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( XercesC )
 
@@ -36,7 +36,7 @@ atlas_add_component( ISF_Geant4Tools
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${GEANT4_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} AthenaKernel GaudiKernel G4AtlasInterfaces AthenaBaseComps StoreGateLib SGtests AtlasDetDescr GeneratorObjects G4AtlasToolsLib G4AtlasAlgLib MCTruth SimHelpers ISF_Event ISF_Interfaces ISF_Geant4Event )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${GEANT4_LIBRARIES} ${EIGEN_LIBRARIES} AthenaKernel GaudiKernel G4AtlasInterfaces AthenaBaseComps StoreGateLib SGtests AtlasDetDescr GeneratorObjects G4AtlasToolsLib G4AtlasAlgLib MCTruth SimHelpers ISF_Event ISF_Interfaces ISF_Geant4Event )
 
 # Install files from the package:
 atlas_install_headers( ISF_Geant4Tools )
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.cxx
index e7d8dfea539..115c294a99a 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.cxx
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.cxx
@@ -22,7 +22,7 @@
 #include "MCTruth/EventInformation.h"
 
 // HepMC classes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // Geant4 classes
 #include "G4LorentzVector.hh"
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.h
index be97cb77cd7..bcd3769187b 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.h
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/G4LegacyTransportTool.h
@@ -41,9 +41,7 @@ namespace ISF {
   class ISFParticle;
 }
 
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace iGeant4
 {
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/ISFTrajectory.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/ISFTrajectory.cxx
index b1b0a927476..d54e83a9812 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/ISFTrajectory.cxx
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/ISFTrajectory.cxx
@@ -27,7 +27,7 @@
 #include "MCTruth/TrackHelper.h"
 
 //HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 #undef _ISFTRAJECTORY_DEBUG_
 
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx
index bb533142dd3..76e11714b46 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/PhysicsValidationUserAction.cxx
@@ -35,7 +35,7 @@
 #include "G4TransportationManager.hh"
 
 //External includes
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenVertex.h"
 // ROOT includes
 #include "TTree.h"
 // STL includes
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionBase.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionBase.h
index 0cebc55bfa6..c863ecf5238 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionBase.h
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionBase.h
@@ -18,9 +18,7 @@
 // forward declarations
 class EventInformation;
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace ISF {
   class ISFParticle;
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionPassBack.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionPassBack.h
index df373ab813b..b54d7df05f4 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionPassBack.h
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TrackProcessorUserActionPassBack.h
@@ -25,9 +25,7 @@ namespace ISF {
   class ITruthBinding;
 }
 
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 
 namespace G4UA{
 
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx
index d359e2f6249..2b490c97948 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.cxx
@@ -26,7 +26,7 @@
 #include "MCTruth/EventInformation.h"
 
 // HepMC classes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // Geant4 classes
 #include "G4LorentzVector.hh"
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h
index 1f540153fa6..2b07f93465d 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4Tools/src/TransportTool.h
@@ -43,9 +43,7 @@ namespace ISF {
   class ISFParticle;
 }
 
-namespace HepMC {
-  class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace iGeant4
 {
diff --git a/Simulation/ISF/ISF_Geant4/ISF_Geant4UserActions/src/FastCaloSimParamAction.h b/Simulation/ISF/ISF_Geant4/ISF_Geant4UserActions/src/FastCaloSimParamAction.h
index 8a830b32a40..99a86748729 100644
--- a/Simulation/ISF/ISF_Geant4/ISF_Geant4UserActions/src/FastCaloSimParamAction.h
+++ b/Simulation/ISF/ISF_Geant4/ISF_Geant4UserActions/src/FastCaloSimParamAction.h
@@ -26,9 +26,7 @@ namespace ISF_FCS_Parametrization {
   class FCS_StepInfoCollection;
   class FCS_StepInfo;
 }
-namespace HepMC {
-  class GenParticle;
-}
+#include "AtlasHepMC/GenParticle_fwd.h"
 // forward declarations in global namespace
 class G4VSolid;
 class G4AffineTransform;
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/CMakeLists.txt b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/CMakeLists.txt
index 135fc6731bb..b0845f3d26a 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/CMakeLists.txt
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/CMakeLists.txt
@@ -8,6 +8,7 @@ atlas_subdir( ISF_HepMC_Interfaces )
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
+                          Generators/AtlasHepMC
                           Simulation/ISF/ISF_Core/ISF_Event )
 
 # Install files from the package:
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/IGenParticleFilter.h b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/IGenParticleFilter.h
index b03ac283f27..a9827852815 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/IGenParticleFilter.h
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/IGenParticleFilter.h
@@ -15,9 +15,7 @@
 // Simulation includes
 #include "ISF_Event/SimSvcID.h" 
 
-namespace HepMC {
-    class GenParticle;
-} 
+#include "AtlasHepMC/GenParticle_fwd.h"
  
 namespace ISF {
  
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/ITruthStrategy.h b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/ITruthStrategy.h
index 700f5331f49..a6cee819f4b 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/ITruthStrategy.h
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces/ISF_HepMC_Interfaces/ITruthStrategy.h
@@ -13,9 +13,8 @@
 #include "GaudiKernel/IAlgTool.h"
  
 // forward declarations
-namespace HepMC {
-  class GenVertex;
-}
+#include "AtlasHepMC/GenVertex_fwd.h"
+
 namespace ISF {
   class ITruthIncident;
 
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt
index b367ecf2c95..00d1f4ed452 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/CMakeLists.txt
@@ -12,13 +12,13 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           DetectorDescription/AtlasDetDescr
                           Generators/TruthUtils
+                          Generators/AtlasHepMC
                           Simulation/ISF/ISF_Core/ISF_Event
                           Simulation/ISF/ISF_Core/ISF_Interfaces
                           Simulation/ISF/ISF_HepMC/ISF_HepMC_Interfaces
                           Tools/PathResolver )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 find_package( GTest )
 find_package( GMock )
@@ -30,25 +30,25 @@ atlas_add_component( ISF_HepMC_Tools
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel AtlasDetDescr AthenaBaseComps TruthUtils ISF_Event ISF_Interfaces PathResolver )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib GaudiKernel AtlasDetDescr AthenaBaseComps TruthUtils ISF_Event ISF_Interfaces PathResolver )
 
 # Tests
-atlas_add_test( GenParticleGenericFilter_test
+#atlas_add_test( GenParticleGenericFilter_test
                 SOURCES test/GenParticleGenericFilter_test.cxx src/GenParticleGenericFilter.cxx
                 INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps )
+                LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} AtlasHepMCLib AthenaBaseComps )
 
 # Tests
 atlas_add_test( GenParticleInteractingFilter_test
                 SOURCES test/GenParticleInteractingFilter_test.cxx src/GenParticleInteractingFilter.cxx
                 INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps TruthUtils )
+                LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} AtlasHepMCLib AthenaBaseComps TruthUtils )
 
 # Tests
 atlas_add_test( GenParticleLifetimeFilter_test
                 SOURCES test/GenParticleLifetimeFilter_test.cxx src/GenParticleLifetimeFilter.cxx
                 INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps TruthUtils )
+                LINK_LIBRARIES ${GTEST_LIBRARIES} ${GMOCK_LIBRARIES} AtlasHepMCLib AthenaBaseComps TruthUtils )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/CylinderVolumeTruthStrategy.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/CylinderVolumeTruthStrategy.cxx
index 279bfe9e5fb..846a7cd4e81 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/CylinderVolumeTruthStrategy.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/CylinderVolumeTruthStrategy.cxx
@@ -13,7 +13,7 @@
 #include "ISF_Event/ITruthIncident.h"
 
 // HepMC includes
-#include "HepMC/SimpleVector.h"
+#include "AtlasHepMC/SimpleVector.h"
 
 /** Constructor **/
 ISF::CylinderVolumeTruthStrategy::CylinderVolumeTruthStrategy(const std::string& t, const std::string& n, const IInterface* p) :
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleFinalStateFilter.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleFinalStateFilter.cxx
index 926d8731474..7ce0aa81d86 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleFinalStateFilter.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleFinalStateFilter.cxx
@@ -13,7 +13,7 @@
 #include "TruthUtils/HepMCHelpers.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 
 /** Constructor **/
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleGenericFilter.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleGenericFilter.cxx
index 8fc0a2319e6..007e192d62d 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleGenericFilter.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleGenericFilter.cxx
@@ -13,8 +13,8 @@
 #include "GenParticleGenericFilter.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // STL includes
 #include <limits>
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleInteractingFilter.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleInteractingFilter.cxx
index 7eee7c20747..dbf3eff7450 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleInteractingFilter.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleInteractingFilter.cxx
@@ -10,7 +10,7 @@
 #include "GenParticleInteractingFilter.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 
 // Helper function
 #include "TruthUtils/HepMCHelpers.h"
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleLifetimeFilter.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleLifetimeFilter.cxx
index ec7c85aae12..ddeeaa836f6 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleLifetimeFilter.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleLifetimeFilter.cxx
@@ -10,8 +10,8 @@
 #include "GenParticleLifetimeFilter.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // CLHEP includes
 #include "CLHEP/Vector/LorentzVector.h"
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticlePositionFilter.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticlePositionFilter.cxx
index 334d8371e12..2dbbb15df18 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticlePositionFilter.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticlePositionFilter.cxx
@@ -10,8 +10,8 @@
 #include "GenParticlePositionFilter.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 /** Constructor **/
 ISF::GenParticlePositionFilter::GenParticlePositionFilter( const std::string& t,
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleSimWhiteList.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleSimWhiteList.cxx
index b512b718a12..c4fefcb3daf 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleSimWhiteList.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/src/GenParticleSimWhiteList.cxx
@@ -10,8 +10,8 @@
 #include "GenParticleSimWhiteList.h"
 
 // HepMC includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 // Helper function
 #include "TruthUtils/PIDHelpers.h"
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleGenericFilter_test.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleGenericFilter_test.cxx
index db70ef12e8e..052a95f5bae 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleGenericFilter_test.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleGenericFilter_test.cxx
@@ -25,8 +25,8 @@
 #include "../src/GenParticleGenericFilter.h"
 
 // Truth related includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 
 namespace ISFTesting {
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleInteractingFilter_test.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleInteractingFilter_test.cxx
index a0b60126bca..8bd2fec655c 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleInteractingFilter_test.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleInteractingFilter_test.cxx
@@ -25,8 +25,8 @@
 #include "../src/GenParticleInteractingFilter.h"
 
 // Truth related includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 
 namespace ISFTesting {
diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleLifetimeFilter_test.cxx b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleLifetimeFilter_test.cxx
index 069ab06b66c..d3443338c1e 100644
--- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleLifetimeFilter_test.cxx
+++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/test/GenParticleLifetimeFilter_test.cxx
@@ -23,8 +23,8 @@
 #include "../src/GenParticleLifetimeFilter.h"
 
 // Truth related includes
-#include "HepMC/GenParticle.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
 
 namespace ISFTesting {
diff --git a/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt b/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt
index e3f3fc0197b..96ddeaf336b 100644
--- a/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt
+++ b/Simulation/ISF/ISF_SimulationSelectors/CMakeLists.txt
@@ -9,13 +9,13 @@ atlas_subdir( ISF_SimulationSelectors )
 atlas_depends_on_subdirs( PUBLIC
                           GaudiKernel
                           PRIVATE
+                          Generators/AtlasHepMC
                           Simulation/Barcode/BarcodeServices
                           Simulation/ISF/ISF_Core/ISF_Event
                           Simulation/ISF/ISF_Core/ISF_Interfaces
                           Simulation/ISF/ISF_Tracking/ISF_TrackingInterfaces )
 
 # External dependencies:
-find_package( HepMC )
 find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 
 # Component(s) in the package:
@@ -23,7 +23,7 @@ atlas_add_component( ISF_SimulationSelectors
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel BarcodeServicesLib ISF_Event ISF_Interfaces )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} AtlasHepMCLib GaudiKernel BarcodeServicesLib ISF_Event ISF_Interfaces )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/ISF/ISF_SimulationSelectors/src/TruthAssocSimSelector.h b/Simulation/ISF/ISF_SimulationSelectors/src/TruthAssocSimSelector.h
index 17b6f9d4d1e..0f7b332b4b1 100644
--- a/Simulation/ISF/ISF_SimulationSelectors/src/TruthAssocSimSelector.h
+++ b/Simulation/ISF/ISF_SimulationSelectors/src/TruthAssocSimSelector.h
@@ -17,7 +17,7 @@
 #include "BaseSimulationSelector.h"
 
 // HepMC includes
-#include "HepMC/IteratorRange.h"
+#include "AtlasHepMC/IteratorRange.h"
 
 namespace ISF
 {
diff --git a/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IGenEventManipulator.h b/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IGenEventManipulator.h
index 26d3b6fad82..80a377d31fb 100644
--- a/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IGenEventManipulator.h
+++ b/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IGenEventManipulator.h
@@ -12,9 +12,7 @@
 // Gaudi
 #include "GaudiKernel/IAlgTool.h"
 
-namespace HepMC {
-    class GenEvent;
-}
+#include "AtlasHepMC/GenEvent_fwd.h"
 
 namespace Simulation {
 
diff --git a/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IZeroLifetimePatcher.h b/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IZeroLifetimePatcher.h
index 85d8416be6c..4f576a4fa50 100644
--- a/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IZeroLifetimePatcher.h
+++ b/Simulation/Interfaces/HepMC_Interfaces/HepMC_Interfaces/IZeroLifetimePatcher.h
@@ -10,10 +10,7 @@
 #include "GaudiKernel/IInterface.h"
 #include "GaudiKernel/StatusCode.h"
 
-namespace HepMC {
-    class GenEvent;
-}
-
+#include "AtlasHepMC/GenEvent_fwd.h"
 namespace Simulation {
 
   /**
diff --git a/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt b/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt
index 75c3a65b080..27aabee14e3 100644
--- a/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt
+++ b/Simulation/Tools/CaloSamplingFractionAnalysis/CMakeLists.txt
@@ -16,6 +16,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           DetectorDescription/GeoModel/GeoAdaptors
                           Event/EventInfo
+                          Generators/AtlasHepMC
                           LArCalorimeter/LArSimEvent
                           LArCalorimeter/LArElecCalib
                           TileCalorimeter/TileDetDescr
@@ -23,7 +24,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 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
@@ -35,7 +35,7 @@ atlas_add_component( CaloSamplingFractionAnalysis
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent CaloEvent AthenaBaseComps GeoAdaptors EventInfo LArSimEvent TileDetDescr TileSimEvent )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent CaloEvent AthenaBaseComps GeoAdaptors EventInfo LArSimEvent TileDetDescr TileSimEvent )
 
 # Install files from the package:
 # atlas_install_headers( CaloSamplingFractionAnalysis )
diff --git a/Simulation/Tools/HitAnalysis/CMakeLists.txt b/Simulation/Tools/HitAnalysis/CMakeLists.txt
index babd0ffbfce..0ca5a408303 100644
--- a/Simulation/Tools/HitAnalysis/CMakeLists.txt
+++ b/Simulation/Tools/HitAnalysis/CMakeLists.txt
@@ -19,6 +19,7 @@ atlas_depends_on_subdirs( PUBLIC
                           ForwardDetectors/ALFA/ALFA_SimEv
                           ForwardDetectors/LUCID/LUCID_SimUtils/LUCID_SimEvent
                           ForwardDetectors/ZDC/ZDC_SimEvent
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           InnerDetector/InDetSimEvent
                           LArCalorimeter/LArSimEvent
@@ -29,7 +30,6 @@ atlas_depends_on_subdirs( PUBLIC
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 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
@@ -41,7 +41,7 @@ atlas_add_component( HitAnalysis
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent AthenaBaseComps GeoAdaptors EventInfo AFP_SimEv ALFA_SimEv LUCID_SimEvent ZDC_SimEvent GeneratorObjects InDetSimEvent LArSimEvent MuonSimEvent TileDetDescr TileSimEvent )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib GaudiKernel CaloDetDescrLib CaloIdentifier CaloSimEvent AthenaBaseComps GeoAdaptors EventInfo AFP_SimEv ALFA_SimEv LUCID_SimEvent ZDC_SimEvent GeneratorObjects InDetSimEvent LArSimEvent MuonSimEvent TileDetDescr TileSimEvent )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/Simulation/Tools/HitAnalysis/src/TruthHitAnalysis.cxx b/Simulation/Tools/HitAnalysis/src/TruthHitAnalysis.cxx
index 287310a025c..3ddbc8f0f06 100755
--- a/Simulation/Tools/HitAnalysis/src/TruthHitAnalysis.cxx
+++ b/Simulation/Tools/HitAnalysis/src/TruthHitAnalysis.cxx
@@ -5,7 +5,7 @@
 #include "TruthHitAnalysis.h"
 
 // Section of includes for Truth tests
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
diff --git a/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt b/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt
index 368e2fd0978..a8fa91bcf9c 100644
--- a/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt
+++ b/Simulation/Tools/McEventCollectionFilter/CMakeLists.txt
@@ -10,6 +10,7 @@ atlas_depends_on_subdirs( PRIVATE
                           Control/AthenaBaseComps
                           DetectorDescription/GeoPrimitives
                           GaudiKernel
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           InnerDetector/InDetSimEvent
                           MuonSpectrometer/MuonSimEvent )
@@ -17,7 +18,6 @@ atlas_depends_on_subdirs( PRIVATE
 # External dependencies:
 find_package( CLHEP )
 find_package( Eigen )
-find_package( HepMC )
 
 # Component(s) in the package:
 atlas_add_library( McEventCollectionFilterLib
@@ -26,11 +26,11 @@ atlas_add_library( McEventCollectionFilterLib
                    PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
                    PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
                    LINK_LIBRARIES StoreGateLib SGtests
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps GeoPrimitives GaudiKernel GeneratorObjects InDetSimEvent MuonSimEvent )
+                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps GeoPrimitives GaudiKernel GeneratorObjects InDetSimEvent MuonSimEvent )
 
 atlas_add_component( McEventCollectionFilter
                      src/components/*.cxx
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} ${EIGEN_LIBRARIES} AthenaBaseComps StoreGateLib SGtests GeoPrimitives GaudiKernel GeneratorObjects InDetSimEvent MuonSimEvent McEventCollectionFilterLib )
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps StoreGateLib SGtests GeoPrimitives GaudiKernel GeneratorObjects InDetSimEvent MuonSimEvent McEventCollectionFilterLib )
 
 atlas_install_python_modules( python/*.py )
diff --git a/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.cxx b/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.cxx
index 5b8742cbc33..0f100552ce3 100644
--- a/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.cxx
+++ b/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.cxx
@@ -7,8 +7,8 @@
 //////////////////////////////////////////////////////////////////////////
 #include "McEventCollectionFilter.h"
 //
-#include "HepMC/GenEvent.h"
-#include "HepMC/GenVertex.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenVertex.h"
 //
 #include "InDetSimEvent/SiHit.h"
 #include "MuonSimEvent/TGCSimHit.h"
diff --git a/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.h b/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.h
index a000f0f0d33..9e7dc44ed1a 100644
--- a/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.h
+++ b/Simulation/Tools/McEventCollectionFilter/src/McEventCollectionFilter.h
@@ -19,6 +19,8 @@
 #include "MuonSimEvent/sTGCSimHitCollection.h"
 #include "MuonSimEvent/MMSimHitCollection.h"
 
+#include "AtlasHepMC/GenParticle.h"
+
 // std library includes
 #include <string>
 #include <vector>
diff --git a/Simulation/TruthJiveXML/CMakeLists.txt b/Simulation/TruthJiveXML/CMakeLists.txt
index 62b6e13403b..51d325b1eb1 100644
--- a/Simulation/TruthJiveXML/CMakeLists.txt
+++ b/Simulation/TruthJiveXML/CMakeLists.txt
@@ -13,12 +13,12 @@ atlas_depends_on_subdirs( PUBLIC
                           PRIVATE
                           Control/StoreGate
                           Event/EventPrimitives
+                          Generators/AtlasHepMC
                           Generators/GeneratorObjects
                           Simulation/G4Sim/TrackRecord )
 
 # External dependencies:
 find_package( CLHEP )
-find_package( HepMC )
 find_package( HepPDT )
 
 # Component(s) in the package:
@@ -26,7 +26,7 @@ atlas_add_component( TruthJiveXML
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} ${HEPMC_LIBRARIES} AthenaBaseComps GaudiKernel JiveXMLLib StoreGateLib SGtests EventPrimitives GeneratorObjects )
+                     LINK_LIBRARIES ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib AthenaBaseComps GaudiKernel JiveXMLLib StoreGateLib SGtests EventPrimitives GeneratorObjects )
 
 # Install files from the package:
 atlas_install_headers( TruthJiveXML )
diff --git a/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx b/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx
index 5fdb805bbaf..8ab0bf029f8 100755
--- a/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx
+++ b/Simulation/TruthJiveXML/src/TruthMuonTrackRetriever.cxx
@@ -8,7 +8,7 @@
 //#include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/IPartPropSvc.h"
 
-#include "HepMC/GenParticle.h"
+#include "AtlasHepMC/GenParticle.h"
 #include "TrackRecord/TrackRecord.h"
 #include "TrackRecord/TrackRecordCollection.h"
 #include "HepPDT/ParticleData.hh"
-- 
GitLab