diff --git a/DDCore/include/DD4hep/Dictionary.h b/DDCore/include/DD4hep/Dictionary.h index 0e2f89ec91123e703527ee6f69ddcf4e9446ce92..4f3f081103277593c75b2067ebdde1f05103d1ab 100644 --- a/DDCore/include/DD4hep/Dictionary.h +++ b/DDCore/include/DD4hep/Dictionary.h @@ -222,6 +222,8 @@ template class DD4hep::Handle<TNamed>; #pragma link C++ class DD4hep::Conditions::Condition+; #pragma link C++ class vector<DD4hep::Conditions::Condition>+; +#pragma link C++ class DD4hep::Conditions::ConditionKey+; +#pragma link C++ class vector<DD4hep::Conditions::ConditionKey>+; #pragma link C++ class DD4hep::Conditions::Interna::ConditionObject+; #pragma link C++ class DD4hep::Handle<DD4hep::Conditions::Interna::ConditionObject>+; diff --git a/DDCore/src/AlignmentsProcessor.cpp b/DDCore/src/AlignmentsProcessor.cpp index aabf94ff71694c67327db475fa88fc5d79fd592e..51b80f8b51a1b43a61f41204d19a383426d75835 100644 --- a/DDCore/src/AlignmentsProcessor.cpp +++ b/DDCore/src/AlignmentsProcessor.cpp @@ -39,15 +39,6 @@ template <typename T> int DeltaCollector<T>::operator()(DetElement de, int level except("Alignments","Cannot process alignments of an invalid detector element"); return 0; } -template class DeltaCollector<list<Delta> >; -template class DeltaCollector<vector<Delta> >; -template class DeltaCollector<map<DetElement,Delta> >; -template class DeltaCollector<vector<pair<DetElement,Delta> > >; -template class DeltaCollector<vector<pair<string,Delta> > >; - -template class DeltaCollector<multimap<DetElement,Delta> >; -template class DeltaCollector<map<string,Delta> >; -template class DeltaCollector<multimap<string,Delta> >; /// Callback to output alignments information template <typename T> @@ -68,12 +59,34 @@ int AlignmentsCollector<T>::operator()(DetElement de, int level) const { except("Alignments","Cannot process alignments of an invalid detector element"); return 0; } -template class AlignmentsCollector<list<Alignment> >; -template class AlignmentsCollector<vector<Alignment> >; -template class AlignmentsCollector<map<DetElement,Alignment> >; -template class AlignmentsCollector<vector<pair<DetElement,Alignment> > >; -template class AlignmentsCollector<vector<pair<string,Alignment> > >; -template class AlignmentsCollector<multimap<DetElement,Alignment> >; -template class AlignmentsCollector<map<string,Alignment> >; -template class AlignmentsCollector<multimap<string,Alignment> >; + +/// Namespace for the AIDA detector description toolkit +namespace DD4hep { + + /// Namespace for the AIDA detector description toolkit supporting XML utilities + namespace Alignments { + + template class DeltaCollector<list<Delta> >; + template class DeltaCollector<vector<Delta> >; + template class DeltaCollector<map<DetElement,Delta> >; + template class DeltaCollector<vector<pair<DetElement,Delta> > >; + template class DeltaCollector<vector<pair<string,Delta> > >; + + template class DeltaCollector<multimap<DetElement,Delta> >; + template class DeltaCollector<map<string,Delta> >; + template class DeltaCollector<multimap<string,Delta> >; + + + template class AlignmentsCollector<list<Alignment> >; + template class AlignmentsCollector<vector<Alignment> >; + template class AlignmentsCollector<map<DetElement,Alignment> >; + template class AlignmentsCollector<vector<pair<DetElement,Alignment> > >; + template class AlignmentsCollector<vector<pair<string,Alignment> > >; + + template class AlignmentsCollector<multimap<DetElement,Alignment> >; + template class AlignmentsCollector<map<string,Alignment> >; + template class AlignmentsCollector<multimap<string,Alignment> >; + + } /* End namespace Alignments */ +} /* End namespace DD4hep */ diff --git a/DDCore/src/ConditionsProcessor.cpp b/DDCore/src/ConditionsProcessor.cpp index 13db4cd0676c62d1d975c9c8f0031715373da718..6f0df7703e2e809e8b0637a298785aa3073d16c8 100644 --- a/DDCore/src/ConditionsProcessor.cpp +++ b/DDCore/src/ConditionsProcessor.cpp @@ -38,13 +38,23 @@ int ConditionsCollector<T>::operator()(DetElement de, int) const { except("Conditions","Cannot process conditions of an invalid detector element"); return 0; } -//template class ConditionsCollector<ConditionsMap>; -template class ConditionsCollector<list<Condition> >; -template class ConditionsCollector<vector<Condition> >; -template class ConditionsCollector<map<DetElement,Condition> >; -template class ConditionsCollector<vector<pair<DetElement,Condition> > >; -template class ConditionsCollector<vector<pair<string,Condition> > >; - -template class ConditionsCollector<multimap<DetElement,Condition> >; -template class ConditionsCollector<map<string,Condition> >; -template class ConditionsCollector<multimap<string,Condition> >; + + +/// Namespace for the AIDA detector description toolkit +namespace DD4hep { + + /// Namespace for the conditions part of the AIDA detector description toolkit + namespace Conditions { + + //template class ConditionsCollector<ConditionsMap>; + template class ConditionsCollector<list<Condition> >; + template class ConditionsCollector<vector<Condition> >; + template class ConditionsCollector<map<DetElement,Condition> >; + template class ConditionsCollector<vector<pair<DetElement,Condition> > >; + template class ConditionsCollector<vector<pair<string,Condition> > >; + + template class ConditionsCollector<multimap<DetElement,Condition> >; + template class ConditionsCollector<map<string,Condition> >; + template class ConditionsCollector<multimap<string,Condition> >; + } /* End namespace Conditions */ +} /* End namespace DD4hep */ diff --git a/DDG4/python/DD4hep.py b/DDG4/python/DD4hep.py index 03cfeb764d4b05752570b279803e6ee38b258c0f..8c6941a584b973f2ed5d5d16e6acfd065d99e245 100644 --- a/DDG4/python/DD4hep.py +++ b/DDG4/python/DD4hep.py @@ -138,10 +138,14 @@ def import_geometry(): #// Readout.h import_namespace_item('Geo','Readout') + + #// Alignments.h import_namespace_item('Alignments','Alignment') - import_namespace_item('Alignments','Container') + import_namespace_item('Alignments','AlignmentCondition') + + #// Conditions.h import_namespace_item('Conditions','Condition') - import_namespace_item('Conditions','Container') + import_namespace_item('Conditions','ConditionKey') #// DetElement.h import_namespace_item('Geo','World')