diff --git a/DDCore/include/DD4hep/Printout.h b/DDCore/include/DD4hep/Printout.h index 54c541e459d8285c3de007aa21f64d8bd5030549..6ba805e3985d8930f1719836d8006a7d60ce2822 100644 --- a/DDCore/include/DD4hep/Printout.h +++ b/DDCore/include/DD4hep/Printout.h @@ -36,7 +36,7 @@ namespace DD4hep { class VisAttr; class DetElement; class PlacedVolume; - template <typename T> struct Handle; + template <typename T> class Handle; typedef Handle<NamedObject> Ref_t; } diff --git a/DDCore/include/DD4hep/Shapes.h b/DDCore/include/DD4hep/Shapes.h index 22e5617418d322748d1ccd539d2b371cc7b4aef6..70c26f9c7abf7557e017614fe64d9c2c1370342d 100644 --- a/DDCore/include/DD4hep/Shapes.h +++ b/DDCore/include/DD4hep/Shapes.h @@ -48,7 +48,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - template <typename T> struct Solid_type: public Handle<T> { + template <typename T> class Solid_type: public Handle<T> { protected: typedef T Implementation; void _setDimensions(double* param); @@ -102,7 +102,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Box: public Solid_type<TGeoBBox> { + class Box: public Solid_type<TGeoBBox> { protected: /// Internal helper method to support object construction void make(const std::string& name, double x, double y, double z); @@ -156,7 +156,8 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Polycone: public Solid_type<TGeoPcon> { + class Polycone: public Solid_type<TGeoPcon> { + public: /// Constructor to be used when reading the already parsed polycone object template <typename Q> Polycone(const Handle<Q>& e) : Solid_type<TGeoPcon>(e) { @@ -185,7 +186,8 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct ConeSegment: public Solid_type<TGeoConeSeg> { + class ConeSegment: public Solid_type<TGeoConeSeg> { + public: /// Constructor to be used when reading the already parsed ConeSegment object template <typename Q> ConeSegment(const Handle<Q>& e) : Solid_type<TGeoConeSeg>(e) { @@ -201,7 +203,7 @@ namespace DD4hep { }; /// Intermediate class to overcome drawing probles with the TGeoTubeSeg - struct MyConeSeg: public TGeoConeSeg { + class MyConeSeg: public TGeoConeSeg { public: MyConeSeg() : TGeoConeSeg() { @@ -228,7 +230,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Tube: public Solid_type< /*TGeoTubeSeg */MyConeSeg> { + class Tube: public Solid_type< /*TGeoTubeSeg */MyConeSeg> { protected: /// Internal helper method to support object construction void make(const std::string& name, double rmin, double rmax, double z, double startPhi, double deltaPhi); @@ -283,7 +285,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Cone: public Solid_type<TGeoCone> { + class Cone: public Solid_type<TGeoCone> { protected: /// Internal helper method to support object construction void make(const std::string& name, double z, double rmin1, double rmax1, double rmin2, double rmax2); @@ -318,7 +320,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Trap: public Solid_type<TGeoTrap> { + class Trap: public Solid_type<TGeoTrap> { private: /// Internal helper method to support object construction void make(double pz, double py, double px, double pLTX); @@ -358,7 +360,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Trapezoid: public Solid_type<TGeoTrd2> { + class Trapezoid: public Solid_type<TGeoTrd2> { private: /// Internal helper method to support object construction void make(double x1, double x2, double y1, double y2, double z); @@ -390,7 +392,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Torus: public Solid_type<TGeoTorus> { + class Torus: public Solid_type<TGeoTorus> { private: /// Internal helper method to support object construction void make(double r, double rmin, double rmax, double phi, double delta_phi); @@ -424,7 +426,8 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct Sphere: public Solid_type<TGeoSphere> { + class Sphere: public Solid_type<TGeoSphere> { + public: /// Constructor to be used when passing an already created object Sphere(const Sphere& e) : Solid_type<TGeoSphere>(e) { @@ -474,7 +477,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct PolyhedraRegular: public Solid_type<TGeoPgon> { + class PolyhedraRegular: public Solid_type<TGeoPgon> { protected: /// Helper function to create the polyhedron void _create(const std::string& name, int nsides, double rmin, double rmax, double zpos, double zneg, double start, @@ -507,7 +510,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct EightPointSolid: public Solid_type<TGeoArb8> { + class EightPointSolid: public Solid_type<TGeoArb8> { private: /// Internal helper method to support object construction void make(double dz, const double* vtx); @@ -533,7 +536,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct BooleanSolid: public Solid_type<TGeoCompositeShape> { + class BooleanSolid: public Solid_type<TGeoCompositeShape> { protected: /// Constructor to be used when passing an already created object BooleanSolid() @@ -558,7 +561,8 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct SubtractionSolid: public BooleanSolid { + class SubtractionSolid: public BooleanSolid { + public: /// Default constructor SubtractionSolid() : BooleanSolid() { @@ -593,7 +597,8 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct UnionSolid: public BooleanSolid { + class UnionSolid: public BooleanSolid { + public: /// Default constructor UnionSolid() : BooleanSolid() { @@ -628,7 +633,8 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct IntersectionSolid: public BooleanSolid { + class IntersectionSolid: public BooleanSolid { + public: /// Default constructor IntersectionSolid() : BooleanSolid() { diff --git a/DDCore/include/DD4hep/objects/VolumeManagerInterna.h b/DDCore/include/DD4hep/objects/VolumeManagerInterna.h index e1883f801217f63887e267b96a39ab7e54b72947..7bbe77262c769d020840ca421c6a4ea994e3636a 100644 --- a/DDCore/include/DD4hep/objects/VolumeManagerInterna.h +++ b/DDCore/include/DD4hep/objects/VolumeManagerInterna.h @@ -73,7 +73,7 @@ namespace DD4hep { * \version 1.0 * \ingroup DD4HEP_GEOMETRY */ - struct VolumeManagerObject: public NamedObject { + class VolumeManagerObject: public NamedObject { public: typedef IDDescriptor::Field Field; typedef VolumeManager::Managers Managers; diff --git a/DDCore/include/XML/Conversions.h b/DDCore/include/XML/Conversions.h index c0eb8fa4dcef5ca1beba4a518f805b6dc40346d1..ecd58b24c41c37871eb22fa91e6d17f669663b84 100644 --- a/DDCore/include/XML/Conversions.h +++ b/DDCore/include/XML/Conversions.h @@ -19,7 +19,7 @@ namespace DD4hep { /// Namespace for the AIDA detector description toolkit supporting XML utilities namespace XML { - struct Handle_t; + class Handle_t; } /// Basic conversion objects for handling DD4hep XML files. diff --git a/DDCore/src/DetectorInterna.cpp b/DDCore/src/DetectorInterna.cpp index 04a922af25ddb2780fc50bec384d63d097322f15..f805f5c7e2857aed4f43066105956c846c1a8ec2 100644 --- a/DDCore/src/DetectorInterna.cpp +++ b/DDCore/src/DetectorInterna.cpp @@ -240,7 +240,7 @@ void DetElementObject::removeAtUpdate(unsigned int type, void* pointer) { /// Trigger update callbacks void DetElementObject::update(unsigned int tags, void* param) { DetElement det(this); - const void* args[3] = { (void*)tags, this, param }; + const void* args[3] = { (void*)((unsigned long)tags), this, param }; if ( (tags&DetElement::PLACEMENT_CHANGED)==DetElement::PLACEMENT_CHANGED && (tags&DetElement::PLACEMENT_HIGHEST)==DetElement::PLACEMENT_HIGHEST ) { printout(INFO,"DetElement","+++ Need to update chaches and child caches of %s", diff --git a/DDCore/src/Handle.cpp b/DDCore/src/Handle.cpp index acd124e439b84b7e029904f65452eec1dcc845ad..5623982933284d460a2f629fb7037714605d6ec1 100644 --- a/DDCore/src/Handle.cpp +++ b/DDCore/src/Handle.cpp @@ -169,7 +169,7 @@ namespace DD4hep { template <> const char* Handle<_Segmentation>::name() const { return this->m_element ? this->m_element->name().c_str() : ""; } - template struct DD4hep::Geometry::Handle<_Segmentation>; + template class DD4hep::Geometry::Handle<_Segmentation>; } }