Skip to content
Snippets Groups Projects
Commit 05891326 authored by Atlas-Software Librarian's avatar Atlas-Software Librarian Committed by Graeme Stewart
Browse files

'CMakeLists.txt' (AthenaSealSvc-00-02-02)

parent cd0c8ade
No related branches found
No related tags found
No related merge requests found
################################################################################
# Package: AthenaSealSvc
################################################################################
# Declare the package name:
atlas_subdir( AthenaSealSvc )
# Declare the package's dependencies:
atlas_depends_on_subdirs( PUBLIC
Control/AthenaServices )
# Install files from the package:
atlas_install_python_modules( python/*.py )
atlas_install_joboptions( share/*.py )
package AthenaSealSvc
author RD Schaffer R.D.Schaffer@cern.ch
author Christian Arnault arnault@lal.in2p3.fr
use AtlasPolicy AtlasPolicy-*
use AthenaServices AthenaServices-* Control -no_auto_imports
#library AthenaSealSvc AthenaSealSvc.cxx -s=components *.cxx
#apply_pattern component_library
macro_append DOXYGEN_INPUT " ../doc"
apply_pattern declare_joboptions files="*.py"
apply_pattern declare_python_modules files="*.py"
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/**
@mainpage
This Athena service check "completeness" of class definitions in
Reflex dictionaries.
The "completeness" check for classes makes sure that the types of all
attributes of a class have their corresponding types defined. The
checks are automatically done for the classes being written or read
in. The checking is controled by a jobOption flag, which by default
is True:
<pre>
# Check the dictionary in memory for completeness (set to True of False)
AthenaSealSvc.CheckDictionary = True;
</pre>
A list of class names to be ignored during the completeness check may
be added to AthenaSealSvcIgnore_joboptions.py.
Note that from release 13 onwards, Reflex dictionary loading is done
automatically by ROOT. This is done using rootmap files which can be
found in LD_LIBRARY_PATH - the rootmap files contain a list of classes
that each dictionary holds and the corresponding name of the DLL
(dynamically loadable library).
@section requirements requirements
@include requirements
@section Links Links to used packages
@htmlinclude used_packages.html
*/
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
# @purpose backward compatibility hack
from AthenaCommon import CfgMgr
from AthenaServices.AthenaServicesConf import AthenaSealSvc
__all__ = [ "AthenaSealSvc" ]
from AthenaCommon.Logging import logging as _logging
_msg = _logging.getLogger ("AthenaSealSvcConf")
_warn = _msg.warning
_warn ("AthenaSealSvc.AthenaSealSvcConf has been retired !")
_warn ("Please use 'AthenaSealSvc' from the AthenaServices package")
_warn ("ex: ")
_warn (" from AthenaCommon import CfgMgr")
_warn (" svcMgr += CfgMgr.AthenaSealSvc()")
del _warn
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
AthenaSealSvc = svcMgr.AthenaSealSvc
# List of class to ignore for dictionary checks
AthenaSealSvc.IgnoreNames = [ "GaudiPython::Interface", "GaudiPython::Helper" ]
AthenaSealSvc.IgnoreNames += [ "Gaudi" ]
AthenaSealSvc.IgnoreNames += [ "FactoryTable" ]
AthenaSealSvc.IgnoreNames += [ "IInterface" ]
AthenaSealSvc.IgnoreNames += [ "IFactory" ]
AthenaSealSvc.IgnoreNames += [ "IAlgFactory" ]
AthenaSealSvc.IgnoreNames += [ "ISvcFactory" ]
AthenaSealSvc.IgnoreNames += [ "IToolFactory" ]
AthenaSealSvc.IgnoreNames += [ "InterfaceID" ]
AthenaSealSvc.IgnoreNames += [ "StatusCode" ]
AthenaSealSvc.IgnoreNames += [ "IAppMgrUI" ]
AthenaSealSvc.IgnoreNames += [ "IProperty" ]
AthenaSealSvc.IgnoreNames += [ "Property" ]
AthenaSealSvc.IgnoreNames += [ "std::vector<Property*>" ]
AthenaSealSvc.IgnoreNames += [ "std::vector<const Property*>" ]
AthenaSealSvc.IgnoreNames += [ "std::list<IAlgorithm*>" ]
AthenaSealSvc.IgnoreNames += [ "std::list<IService*>" ]
AthenaSealSvc.IgnoreNames += [ "std::list<const IFactory*>" ]
AthenaSealSvc.IgnoreNames += [ "std::vector<IRegistry*>" ]
AthenaSealSvc.IgnoreNames += [ "SimpleProperty" ]
AthenaSealSvc.IgnoreNames += [ "SimplePropertyRef" ]
AthenaSealSvc.IgnoreNames += [ "IService" ]
AthenaSealSvc.IgnoreNames += [ "IAlgorithm" ]
AthenaSealSvc.IgnoreNames += [ "ISvcManager" ]
AthenaSealSvc.IgnoreNames += [ "IAlgManager" ]
AthenaSealSvc.IgnoreNames += [ "IJobOptionsSvc" ]
AthenaSealSvc.IgnoreNames += [ "ISvcLocator" ]
AthenaSealSvc.IgnoreNames += [ "IEventProcessor" ]
AthenaSealSvc.IgnoreNames += [ "IDataProviderSvc" ]
AthenaSealSvc.IgnoreNames += [ "IDataManagerSvc" ]
AthenaSealSvc.IgnoreNames += [ "IRegistry" ]
AthenaSealSvc.IgnoreNames += [ "ContainedObject" ]
AthenaSealSvc.IgnoreNames += [ "std::vector<const ContainedObject*>" ]
AthenaSealSvc.IgnoreNames += [ "DataObject" ]
AthenaSealSvc.IgnoreNames += [ "IHistogramSvc" ]
AthenaSealSvc.IgnoreNames += [ "AIDA::I" ]
AthenaSealSvc.IgnoreNames += [ "Algorithm" ]
AthenaSealSvc.IgnoreNames += [ "Service" ]
AthenaSealSvc.IgnoreNames += [ "GaudiPython::PyAlgorithm" ]
AthenaSealSvc.IgnoreNames += [ "GaudiPython::PyAlgorithmWrap" ]
AthenaSealSvc.IgnoreNames += [ "IParticlePropertySvc" ]
AthenaSealSvc.IgnoreNames += [ "ParticleProperty" ]
AthenaSealSvc.IgnoreNames += [ "StoreGateSvc" ]
AthenaSealSvc.IgnoreNames += [ "IStoragePolicy" ]
# I don't know where the following classes come from???? RDS 2004-07-06
AthenaSealSvc.IgnoreNames += [ "CharDbArray" ]
AthenaSealSvc.IgnoreNames += [ "DoubleDbArray" ]
AthenaSealSvc.IgnoreNames += [ "FloatDbArray" ]
AthenaSealSvc.IgnoreNames += [ "IntDbArray" ]
AthenaSealSvc.IgnoreNames += [ "LongDbArray" ]
AthenaSealSvc.IgnoreNames += [ "ShortDbArray" ]
AthenaSealSvc.IgnoreDicts += [ "libSealCLHEPDict" ]
# Dicts added by athena.py
AthenaSealSvc.IgnoreNames += [ "AthenaEventLoopMgr" ]
AthenaSealSvc.IgnoreNames += [ "MinimalEventLoopMgr" ]
AthenaSealSvc.IgnoreNames += [ "PyAthenaEventLoopMgr" ]
AthenaSealSvc.IgnoreNames += [ "NTuple::Directory" ]
AthenaSealSvc.IgnoreNames += [ "NTuple::File " ]
AthenaSealSvc.IgnoreNames += [ "NTuple::Tuple" ]
AthenaSealSvc.IgnoreNames += [ "INTuple" ]
AthenaSealSvc.IgnoreNames += [ "NTuple::Tuple" ]
# Ignore extra template args
AthenaSealSvc.IgnoreNames += [ "greater<int>" ]
AthenaSealSvc.IgnoreNames += [ "allocator<" ]
#
# Joboptions for loading the AthenaSealSvc
#
# Block multiple includes
include.block( "AthenaSealSvc/AthenaSealSvc_joboptions.py" )
# general application configuration options
## get a handle to the Service Manager
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from AthenaCommon import CfgMgr
if not hasattr (svcMgr, 'AthenaSealSvc'):
svcMgr += CfgMgr.AthenaSealSvc()
## put here additional configuration
##
from AthenaCommon.Logging import logging
msg = logging.getLogger( 'AthenaSealSvc' )
msg.info( "DictNames: %r", svcMgr.AthenaSealSvc.DictNames )
## backward compat
AthenaSealSvc = svcMgr.AthenaSealSvc
#
# JobOptions for the loading of the AthenaSealSvc
#
# Some standard joboptions for dictionaries:
theApp.EvtMax = 1
if not hasattr(svcMgr, 'AthenaSealSvc'):
svcMgr += CfgMgr.AthenaSealSvc()
AthenaSealSvc = svcMgr.AthenaSealSvc
# Set up service
include( "AthenaSealSvc/AthenaSealSvc_joboptions.py" )
print AthenaSealSvc.DictNames
# Set to output level to debug (2) for more information
AthenaSealSvc.OutputLevel = 2
MessageSvc.debugLimit = 100000
MessageSvc.infoLimit = 100000
# Check the dictionary in memory for completeness
AthenaSealSvc.CheckDictAtInit = True
AthenaSealSvc.CheckDictionary = True
# Must add in svc to be created via python below
theApp.CreateSvc += [ "AthenaSealSvc" ]
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