diff --git a/DDG4/src/ComponentProperties.cpp b/DDG4/src/ComponentProperties.cpp index 59f1ee4935c58839c074bd11265e8d8c15b3fe01..81cf9304cfd41c06989b4b5e288d5889e6385f0c 100644 --- a/DDG4/src/ComponentProperties.cpp +++ b/DDG4/src/ComponentProperties.cpp @@ -214,8 +214,19 @@ void PropertyManager::dump() const { #include "Math/Point3D.h" #include "Math/Vector3D.h" #include "Math/Vector4D.h" +#include "DD4hep/objects/BasicGrammar_inl.h" + +DD4HEP_DEFINE_PARSER_GRAMMAR_TYPE(Property) namespace DD4hep { + + //DD4HEP_DEFINE_PROPERTY_TYPE(Property); + template Property Property::value() const; + template void Property::value(Property& value) const; + template void Property::set(const Property& value); + template void Property::make(Property& value); + + DD4HEP_DEFINE_PROPERTY_U_CONT(char); DD4HEP_DEFINE_PROPERTY_U_CONT(short); DD4HEP_DEFINE_PROPERTY_U_CONT(int); diff --git a/DDG4/src/Geant4Handle.cpp b/DDG4/src/Geant4Handle.cpp index 64bd95f8aaa17f15d2ebad7f2e5809d18d179280..5399c2846acec7979f2f306547f8b606d353c002 100644 --- a/DDG4/src/Geant4Handle.cpp +++ b/DDG4/src/Geant4Handle.cpp @@ -31,6 +31,10 @@ using namespace std; using namespace DD4hep; using namespace DD4hep::Simulation; +namespace DD4hep { + namespace Simulation { + + template <typename TYPE> static inline TYPE* checked_value(TYPE* p) { if (p) { return p; @@ -182,8 +186,8 @@ template <typename TYPE> Geant4Handle<TYPE>& Geant4Handle<TYPE>::operator=(TYPE* return *this; } -namespace DD4hep { - namespace Simulation { +//namespace DD4hep { +// namespace Simulation { KernelHandle::KernelHandle() { value = &Geant4Kernel::instance(Geometry::LCDD::getInstance()); @@ -216,8 +220,7 @@ namespace DD4hep { format("Geant4Handle<Geant4Sensitive>", "Failed to create sensitive object of type %s for detector %s!", type_name.c_str(), detector.c_str())); } - } -} + template class Geant4Handle<Geant4Action> ; template class Geant4Handle<Geant4Filter> ; @@ -240,3 +243,5 @@ template class Geant4Handle<Geant4TrackingActionSequence> ; template class Geant4Handle<Geant4SteppingActionSequence> ; template class Geant4Handle<Geant4StackingActionSequence> ; template class Geant4Handle<Geant4SensDetActionSequence> ; + } +}