From a4d99c526714813d72f703423dd871cc645f3130 Mon Sep 17 00:00:00 2001 From: Attila Krasznahorkay <krasznaa@cern.ch> Date: Fri, 15 Aug 2014 13:36:28 +0200 Subject: [PATCH] Adding a trigger configuration tool interface (TrigConfInterfaces-00-00-05) * Added ITrigConfigTool.h. This is a tool interface for providing the trigger configuration for a trigger aware (xAOD) analysis. * Made the package compile with RootCore. (Just the dictionary is actually compiled.) * Tagging as TrigConfInterfaces-00-00-05 --- .../TrigConfInterfaces/IIHLTConfigSvc.h | 8 +-- .../TrigConfInterfaces/IILVL1ConfigSvc.h | 8 +-- .../TrigConfInterfaces/ITrigConfigTool.h | 40 ++++++++++++++ .../TrigConfInterfacesDict.h | 6 +-- .../TrigConfInterfaces/cmt/Makefile.RootCore | 54 +++++++++++++++++++ .../TrigConfInterfaces/cmt/requirements | 3 +- .../TrigConfInterfaces/doc/mainpage.h | 8 ++- 7 files changed, 111 insertions(+), 16 deletions(-) create mode 100644 Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/ITrigConfigTool.h create mode 100644 Trigger/TrigConfiguration/TrigConfInterfaces/cmt/Makefile.RootCore diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h index 76dc7c66d7f..39180fdd760 100644 --- a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h +++ b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IIHLTConfigSvc.h @@ -4,7 +4,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: IIHLTConfigSvc.h 580466 2014-01-28 14:54:00Z krasznaa $ +// $Id: IIHLTConfigSvc.h 612008 2014-08-15 13:35:58Z krasznaa $ #ifndef TRIGCONFINTERFACES_IIHLTCONFIGSVC_H #define TRIGCONFINTERFACES_IIHLTCONFIGSVC_H @@ -20,11 +20,11 @@ namespace TrigConf { class HLTSequenceList; /** - * Interface for all services that provide HLT menu configuration + * Interface for all services/tools that provide HLT menu configuration * information. * - * $Revision: 580466 $ - * $Date: 2014-01-28 15:54:00 +0100 (Tue, 28 Jan 2014) $ + * $Revision: 612008 $ + * $Date: 2014-08-15 15:35:58 +0200 (Fri, 15 Aug 2014) $ */ class IIHLTConfigSvc { diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h index 9d98ca7c357..6c7de76685b 100644 --- a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h +++ b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/IILVL1ConfigSvc.h @@ -4,7 +4,7 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: IILVL1ConfigSvc.h 580466 2014-01-28 14:54:00Z krasznaa $ +// $Id: IILVL1ConfigSvc.h 612008 2014-08-15 13:35:58Z krasznaa $ #ifndef TRIGCONFINTERFACES_IILVL1CONFIGSVC_H #define TRIGCONFINTERFACES_IILVL1CONFIGSVC_H @@ -22,11 +22,11 @@ namespace TrigConf { class BunchGroupSet; /** - * Interface for all services that provide LVL1 menu configuration + * Interface for all services/tools that provide LVL1 menu configuration * information * - * $Revision: 580466 $ - * $Date: 2014-01-28 15:54:00 +0100 (Tue, 28 Jan 2014) $ + * $Revision: 612008 $ + * $Date: 2014-08-15 15:35:58 +0200 (Fri, 15 Aug 2014) $ */ class IILVL1ConfigSvc { diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/ITrigConfigTool.h b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/ITrigConfigTool.h new file mode 100644 index 00000000000..c472ac30527 --- /dev/null +++ b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/ITrigConfigTool.h @@ -0,0 +1,40 @@ +// Dear emacs, this is -*- c++ -*- + +/* + Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration +*/ + +// $Id: ITrigConfigTool.h 612008 2014-08-15 13:35:58Z krasznaa $ +#ifndef TRIGCONFINTERFACES_ITRIGCONFIGTOOL_H +#define TRIGCONFINTERFACES_ITRIGCONFIGTOOL_H + +// Infrastructure include(s): +#include "AsgTools/IAsgTool.h" + +// Local include(s): +#include "TrigConfInterfaces/IILVL1ConfigSvc.h" +#include "TrigConfInterfaces/IIHLTConfigSvc.h" + +namespace TrigConf { + + /** + * Interface for dual-use tools that provide trigger configuration + * information. + * + * @author Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> + * + * $Revision: 612008 $ + * $Date: 2014-08-15 15:35:58 +0200 (Fri, 15 Aug 2014) $ + */ + class ITrigConfigTool : public virtual asg::IAsgTool, + public virtual IILVL1ConfigSvc, + public virtual IIHLTConfigSvc { + + /// Declare the interface that this class provides + ASG_TOOL_INTERFACE( TrigConf::ITrigConfigTool ) + + }; // ITrigConfigTool + +} // namespace TrigConf + +#endif // TRIGCONFINTERFACES_ITRIGCONFIGTOOL_H diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/TrigConfInterfacesDict.h b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/TrigConfInterfacesDict.h index aead50d5548..523dc0874f5 100644 --- a/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/TrigConfInterfacesDict.h +++ b/Trigger/TrigConfiguration/TrigConfInterfaces/TrigConfInterfaces/TrigConfInterfacesDict.h @@ -4,16 +4,12 @@ Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration */ -// $Id: TrigConfInterfacesDict.h 580466 2014-01-28 14:54:00Z krasznaa $ +// $Id: TrigConfInterfacesDict.h 612008 2014-08-15 13:35:58Z krasznaa $ #ifndef TRIGCONFINTERFACES_TRIGCONFINTERFACESDICT_H #define TRIGCONFINTERFACES_TRIGCONFINTERFACESDICT_H // Local include(s): #include "TrigConfInterfaces/IILVL1ConfigSvc.h" #include "TrigConfInterfaces/IIHLTConfigSvc.h" -#include "TrigConfInterfaces/ILVL1ConfigSvc.h" -#include "TrigConfInterfaces/IHLTConfigSvc.h" -#include "TrigConfInterfaces/IL1TopoConfigSvc.h" -#include "TrigConfInterfaces/ITrigConfigSvc.h" #endif // TRIGCONFINTERFACES_TRIGCONFINTERFACESDICT_H diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/cmt/Makefile.RootCore b/Trigger/TrigConfiguration/TrigConfInterfaces/cmt/Makefile.RootCore new file mode 100644 index 00000000000..e9e014ab4ad --- /dev/null +++ b/Trigger/TrigConfiguration/TrigConfInterfaces/cmt/Makefile.RootCore @@ -0,0 +1,54 @@ +# this makefile also gets parsed by shell scripts +# therefore it does not support full make syntax and features +# edit with care + +# for full documentation check: +# https://twiki.cern.ch/twiki/bin/viewauth/Atlas/RootCore#Package_Makefile + + +# the name of the package: +PACKAGE = TrigConfInterfaces + +# the libraries to link with this one: +PACKAGE_PRELOAD = + +# additional compilation flags to pass (not propagated to dependent packages): +PACKAGE_CXXFLAGS = + +# additional compilation flags to pass (propagated to dependent packages): +PACKAGE_OBJFLAGS = + +# additional linker flags to pass (for compiling the library): +PACKAGE_LDFLAGS = + +# additional linker flags to pass (for compiling binaries): +PACKAGE_BINFLAGS = + +# additional linker flags to pass (propagated to client libraries): +PACKAGE_LIBFLAGS = + +# the list of packages we depend on: +PACKAGE_DEP = AsgTools + +# the list of packages we use if present, but that we can work without : +PACKAGE_TRYDEP = + +# list pattern of scripts to link directly into binary path: +PACKAGE_SCRIPTS = + +# whether to use pedantic compilation: +PACKAGE_PEDANTIC = 0 + +# whether to turn *off* optimization (set to dict to do it only for +# dictionaries): +PACKAGE_NOOPT = 0 + +# whether to build no library (needs to be set if no source files are +# present): +PACKAGE_NOCC = 1 + +# whether we build a reflex dictionary: +PACKAGE_REFLEX = 1 + + +include $(ROOTCOREDIR)/Makefile-common diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/cmt/requirements b/Trigger/TrigConfiguration/TrigConfInterfaces/cmt/requirements index 84060ea9271..e3436a13cb1 100644 --- a/Trigger/TrigConfiguration/TrigConfInterfaces/cmt/requirements +++ b/Trigger/TrigConfiguration/TrigConfInterfaces/cmt/requirements @@ -1,5 +1,5 @@ package TrigConfInterfaces -# $Id: requirements 580580 2014-01-29 08:44:43Z krasznaa $ +# $Id: requirements 612008 2014-08-15 13:35:58Z krasznaa $ author Joerg Stelzer <stelzer@cern.ch> author Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> @@ -8,6 +8,7 @@ public use AtlasPolicy AtlasPolicy-* use GaudiInterface GaudiInterface-* External +use AsgTools AsgTools-* Control/AthToolSupport private diff --git a/Trigger/TrigConfiguration/TrigConfInterfaces/doc/mainpage.h b/Trigger/TrigConfiguration/TrigConfInterfaces/doc/mainpage.h index a140e825aaf..5a6ee6ecd47 100644 --- a/Trigger/TrigConfiguration/TrigConfInterfaces/doc/mainpage.h +++ b/Trigger/TrigConfiguration/TrigConfInterfaces/doc/mainpage.h @@ -8,8 +8,8 @@ @author Joerg Stelzer <Joerg.Stelzer@cern.ch> @author Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch> - $Revision: 580580 $ - $Date: 2014-01-29 09:44:43 +0100 (Wed, 29 Jan 2014) $ + $Revision: 612008 $ + $Date: 2014-08-15 15:35:58 +0200 (Fri, 15 Aug 2014) $ @section TrigConfInterfacesOverview Overview @@ -36,6 +36,10 @@ trigger configuration for offline usage. This is the most often used interface for analysis purposes. + And finally, there is an interface that can be used in the same way in + and outside of Athena: TrigConf::ITrigConfigTool. This is an interface + for dual-use ASG tools that are meant for trigger aware analysis. + @htmlinclude used_packages.html @include requirements -- GitLab