Skip to content
Snippets Groups Projects
Commit 3a294599 authored by Edward Moyse's avatar Edward Moyse
Browse files

Merge branch 'updateTGTestAlg' into 'master'

Fix naming clash in config for GeometryBuilder and GeometryBuilderCond; TrkGeometryTestAlg now dumps TG

See merge request atlas/athena!37234
parents e3232b15 679fc5da
No related branches found
No related tags found
No related merge requests found
......@@ -43,7 +43,7 @@ class ConfiguredTrackingGeometryCondAlg( Trk__TrackingGeometryCondAlg ) :
# the geometry builder alg tool
from TrkDetDescrTools.TrkDetDescrToolsConf import Trk__GeometryBuilderCond
AtlasGeometryBuilder = Trk__GeometryBuilderCond(name = 'AtlasGeometryBuilder')
AtlasGeometryBuilder = Trk__GeometryBuilderCond(name = 'AtlasGeometryBuilderCond')
# switch the building outputlevel on
AtlasGeometryBuilder.OutputLevel = TrkDetFlags.ConfigurationOutputLevel()
......@@ -67,7 +67,7 @@ class ConfiguredTrackingGeometryCondAlg( Trk__TrackingGeometryCondAlg ) :
from InDetTrackingGeometry.ConfiguredInDetTrackingGeometryBuilderCond import ConfiguredInDetTrackingGeometryBuilderCond as IDGeometryBuilder
else:
from InDetTrackingGeometry.ConfiguredStagedTrackingGeometryBuilderCond import ConfiguredStagedTrackingGeometryBuilderCond as IDGeometryBuilder
InDetTrackingGeometryBuilder = IDGeometryBuilder(name ='InDetTrackingGeometryBuilder')
InDetTrackingGeometryBuilder = IDGeometryBuilder(name ='InDetTrackingGeometryBuilderCond')
InDetTrackingGeometryBuilder.EnvelopeDefinitionSvc = AtlasEnvelopeSvc
InDetTrackingGeometryBuilder.OutputLevel = TrkDetFlags.InDetBuildingOutputLevel()
......@@ -82,7 +82,7 @@ class ConfiguredTrackingGeometryCondAlg( Trk__TrackingGeometryCondAlg ) :
ToolSvc += CaloVolumeCreator
from CaloTrackingGeometry.ConfiguredCaloTrackingGeometryBuilderCond import ConfiguredCaloTrackingGeometryBuilderCond as ConfiguredCaloGeo
CaloTrackingGeometryBuilder = ConfiguredCaloGeo(name='CaloTrackingGeometryBuilder');
CaloTrackingGeometryBuilder = ConfiguredCaloGeo(name='CaloTrackingGeometryBuilderCond');
CaloTrackingGeometryBuilder.TrackingVolumeCreator = CaloVolumeCreator
CaloTrackingGeometryBuilder.EnvelopeDefinitionSvc = AtlasEnvelopeSvc
CaloTrackingGeometryBuilder.OutputLevel = TrkDetFlags.CaloBuildingOutputLevel()
......
......@@ -2,14 +2,15 @@
* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifndef TRACKINGGEOMETRYCONDALG_H
#define TRACKINGGEOMETRYCONDALG_H
#ifndef TRACKINGGEOMETRYCONDALGTEST_H
#define TRACKINGGEOMETRYCONDALGTEST_H
#include "AthenaBaseComps/AthAlgorithm.h"
#include "AthenaBaseComps/AthReentrantAlgorithm.h"
#include "PersistentDataModel/AthenaAttributeList.h"
#include "StoreGate/ReadCondHandleKey.h"
#include "StoreGate/WriteCondHandleKey.h"
#include "GaudiKernel/ServiceHandle.h"
#include "TrkGeometry/TrackingGeometry.h"
#include "TrkDetDescrInterfaces/IGeometryBuilder.h"
......@@ -18,8 +19,11 @@
#include "GaudiKernel/ToolHandle.h"
#include "AthenaKernel/CLASS_DEF.h"
#include "TrkDetDescrInterfaces/ITrackingGeometrySvc.h"
namespace Trk{
class TrackingGeometryCondAlgTest : public AthReentrantAlgorithm
{
public:
......@@ -27,14 +31,17 @@ public:
virtual ~TrackingGeometryCondAlgTest() override = default;
virtual StatusCode initialize() override;
virtual StatusCode execute(const EventContext& ctx)const override;
virtual StatusCode execute(const EventContext& ctx) const override;
virtual StatusCode finalize() override {return StatusCode::SUCCESS;}
private:
/// Input conditions object.
SG::ReadCondHandleKey<TrackingGeometry> m_trackingGeometryReadKey{this, "TrackingGeometryReadKey", "AlignedTrackingGeometry", "Key of input TrackingGeometry"};
mutable std::vector<Amg::Vector3D> m_worldVolumeCenterCollection;
SG::ReadCondHandleKey<TrackingGeometry> m_trackingGeometryReadKey{this, "TrackingGeometryReadKey", "AlignedTrackingGeometry", "Key of input TrackingGeometry"};
mutable const TrackingGeometry* m_trackingGeometry; //!< the tracking geometry
ServiceHandle<Trk::ITrackingGeometrySvc> m_trackingGeometrySvc; //!< ToolHandle to the TrackingGeometrySvc
ToolHandleArray<Trk::IGeometryProcessor> m_trackingGeometryProcessors; //!< Tool to write out a Display format for external viewers
};
}
#endif //TRACKINGGEOMETRYCONDALG_H
#endif //TRACKINGGEOMETRYCONDALGTEST_H
......@@ -62,6 +62,8 @@ TrkDetFlags.TRT_BuildingOutputLevel = VERBOSE
TrkDetFlags.InDetBuildingOutputLevel = VERBOSE
TrkDetFlags.ConfigurationOutputLevel = VERBOSE
from TrkDetDescrSvc.AtlasTrackingGeometrySvc import AtlasTrackingGeometrySvc
# load the tracking geometry cond alg
from TrackingGeometryCondAlg.AtlasTrackingGeometryCondAlg import ConfiguredTrackingGeometryCondAlg
......@@ -70,8 +72,16 @@ from AthenaCommon.AlgSequence import AthSequencer
condSeq = AthSequencer("AthCondSeq")
condSeq+= TrkGeoCondAlg
# ----------------------
from TrkDetDescrTestTools.TrkDetDescrTestToolsConf import Trk__GeometryAsciiDumper
GeometryAsciiDumper = Trk__GeometryAsciiDumper(name= 'GeometryAsciiDumper')
ToolSvc += GeometryAsciiDumper
GeometryProcessors = [ GeometryAsciiDumper ]
from TrkCondTest.TrackingGeometryCondAlgTestConf import Trk__TrackingGeometryCondAlgTest
TrkGeomCondAlgTest = Trk__TrackingGeometryCondAlgTest(name = "TrkGeomTest")
TrkGeomCondAlgTest.GeometryProcessors = GeometryProcessors
job += TrkGeomCondAlgTest
#--------------------------------------------------------------
......@@ -88,7 +98,8 @@ job += TrkGeomCondAlgTest
# Event related parameters
#--------------------------------------------------------------
theApp.EvtMax = 22
theApp.EvtMax = 2
from AthenaCommon.AppMgr import ServiceMgr
# output level
......
......@@ -2,15 +2,22 @@
* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
// Trk includes
#include "GaudiKernel/ISvcLocator.h"
#include "AthenaKernel/IOVSvcDefs.h"
// Trk includes
#include "TrkCondTest/TrackingGeometryCondAlgTest.h"
#include "TrkGeometry/Layer.h"
Trk::TrackingGeometryCondAlgTest::TrackingGeometryCondAlgTest(const std::string& name, ISvcLocator* pSvcLocator)
: AthReentrantAlgorithm(name, pSvcLocator)
: AthReentrantAlgorithm(name, pSvcLocator),
m_trackingGeometry(nullptr),
m_trackingGeometrySvc("AtlasTrackingGeometrySvc", name),
m_trackingGeometryProcessors()
{
declareProperty("GeometryProcessors", m_trackingGeometryProcessors);
}
StatusCode Trk::TrackingGeometryCondAlgTest::initialize()
......@@ -20,6 +27,9 @@ StatusCode Trk::TrackingGeometryCondAlgTest::initialize()
// Read Handle Key
ATH_CHECK(m_trackingGeometryReadKey.initialize());
ATH_CHECK(m_trackingGeometrySvc.retrieve());
ATH_CHECK(m_trackingGeometryProcessors.retrieve());
return StatusCode::SUCCESS;
}
......@@ -33,15 +43,17 @@ StatusCode Trk::TrackingGeometryCondAlgTest::execute(const EventContext& ctx) co
}
const Trk::TrackingGeometry* trkGeom = *readHandle;
ATH_MSG_INFO( "eventID: " << ctx.eventID());
Amg::Vector3D center = trkGeom->highestTrackingVolume()->center();
ATH_MSG_INFO("Center coordinates of highest tracking volume");
ATH_MSG_INFO(center);
if(m_worldVolumeCenterCollection.size()>=1 && m_worldVolumeCenterCollection.back() != center){
ATH_MSG_INFO("hooray, we have moved the world");
m_trackingGeometry = m_trackingGeometrySvc->trackingGeometry();
if( m_trackingGeometry == nullptr){
ATH_MSG_FATAL( "TRACKING GEOMETRY NOT FOUND IN SVC");
return StatusCode::FAILURE;
}
m_worldVolumeCenterCollection.push_back(center);
ATH_MSG_INFO("TrackingGeometry retrieved");
for (const ToolHandle<Trk::IGeometryProcessor>& proc : m_trackingGeometryProcessors) {
ATH_MSG_VERBOSE("PRINT SVC TG");
ATH_CHECK(proc->process(*m_trackingGeometry));
ATH_MSG_VERBOSE("PRINT COND TG");
ATH_CHECK(proc->process(*trkGeom));
}
return StatusCode::SUCCESS;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment