From 3d3a4392e976bd83c8df2eca7f3871da8ae17eda Mon Sep 17 00:00:00 2001
From: Marko Petric <marko.petric@cern.ch>
Date: Fri, 13 Mar 2015 16:12:51 +0000
Subject: [PATCH] Added few extractors, mainly needed for envelopes

---
 DDCore/include/XML/UnicodeValues.h |  4 ++++
 DDCore/include/XML/XMLChildValue.h | 10 ++++++++++
 DDCore/include/XML/XMLDimension.h  | 11 +++++++++++
 DDCore/src/XML/XMLChildValue.cpp   |  4 ++++
 DDCore/src/XML/XMLDimension.cpp    |  4 ++++
 5 files changed, 33 insertions(+)

diff --git a/DDCore/include/XML/UnicodeValues.h b/DDCore/include/XML/UnicodeValues.h
index 3d5e3f0bd..882e98a8a 100644
--- a/DDCore/include/XML/UnicodeValues.h
+++ b/DDCore/include/XML/UnicodeValues.h
@@ -239,6 +239,9 @@ namespace DD4hep {
     UNICODE (ntheta);
     UNICODE (number);
     UNICODE (numsides);
+    UNICODE (nsides);
+    UNICODE (nsides_inner);
+    UNICODE (nsides_outer);
     UNICODE (nz);
 
     UNICODE (o);
@@ -266,6 +269,7 @@ namespace DD4hep {
     UNICODE (particles);
     UNICODE (phi);
     UNICODE (phi0);
+    UNICODE (phi0_offset);
     UNICODE (phi1);
     UNICODE (phi_tilt);
     UNICODE (phiBins);
diff --git a/DDCore/include/XML/XMLChildValue.h b/DDCore/include/XML/XMLChildValue.h
index 61e1d710c..339aa3f75 100644
--- a/DDCore/include/XML/XMLChildValue.h
+++ b/DDCore/include/XML/XMLChildValue.h
@@ -100,6 +100,10 @@ namespace DD4hep {
       double phi0() const;
       /// Access parameters: phi0, if not present returns default
       double phi0(double default_value) const;
+      /// Access rotation constants: phi0_offset
+      double phi0_offset() const;
+      /// Access parameters: phi0_offset, if not present returns default
+      double phi0_offset(double default_value) const;
       /// Access rotation constants: phi1
       double phi1() const;
       /// Access parameters: phi1, if not present returns default
@@ -306,6 +310,12 @@ namespace DD4hep {
 
       /// Access attribute values: numsides
       int numsides() const;
+      /// Access attribute values: nsides
+      int nsides() const;
+      /// Access attribute values: nsides_inner
+      int nsides_inner() const;
+      /// Access attribute values: nsides_outer
+      int nsides_outer() const;
 
       /// Access attribute values: phi_tilt
       double phi_tilt() const;
diff --git a/DDCore/include/XML/XMLDimension.h b/DDCore/include/XML/XMLDimension.h
index 0c1bf2750..5c8391c26 100644
--- a/DDCore/include/XML/XMLDimension.h
+++ b/DDCore/include/XML/XMLDimension.h
@@ -118,6 +118,10 @@ namespace DD4hep {
       double phi0() const;
       /// Access parameters: phi0, if not present returns default
       double phi0(double default_value) const;
+      /// Access rotation constants: phi0_offset
+      double phi0_offset() const;
+      /// Access parameters: phi0_offset, if not present returns default
+      double phi0_offset(double default_value) const;
       /// Access rotation constants: phi1
       double phi1() const;
       /// Access parameters: phi1, if not present returns default
@@ -430,6 +434,13 @@ namespace DD4hep {
 
       /// Access attribute values: numsides
       int numsides() const;
+      /// Access attribute values: nsides
+      int nsides() const;
+      /// Access attribute values: nsides_inner
+      int nsides_inner() const;
+      /// Access attribute values: nsides_outer
+      int nsides_outer() const;
+
 
       /// Access attribute values: phi_tilt
       double phi_tilt() const;
diff --git a/DDCore/src/XML/XMLChildValue.cpp b/DDCore/src/XML/XMLChildValue.cpp
index 3a0e8940d..eb6d43b30 100644
--- a/DDCore/src/XML/XMLChildValue.cpp
+++ b/DDCore/src/XML/XMLChildValue.cpp
@@ -110,6 +110,7 @@ XML_ATTR_ACCESSOR(double, psi)
 XML_ATTR_ACCESSOR(double, phi)
 XML_ATTR_ACCESSOR(int, phiBins)
 XML_ATTR_ACCESSOR(double, phi0)
+XML_ATTR_ACCESSOR(double, phi0_offset)
 XML_ATTR_ACCESSOR_DOUBLE(phi0)
 XML_ATTR_ACCESSOR(double, phi1)
 XML_ATTR_ACCESSOR_DOUBLE(phi1)
@@ -139,6 +140,9 @@ XML_ATTR_ACCESSOR(double, start)
 XML_ATTR_ACCESSOR(double, end)
 XML_ATTR_ACCESSOR(double, thickness)
 XML_ATTR_ACCESSOR(int, numsides)
+XML_ATTR_ACCESSOR(int, nsides)
+XML_ATTR_ACCESSOR(int, nsides_inner)
+XML_ATTR_ACCESSOR(int, nsides_outer)
 XML_ATTR_ACCESSOR(int, number)
 XML_ATTR_ACCESSOR(int, repeat)
 XML_ATTR_ACCESSOR(bool, reflect)
diff --git a/DDCore/src/XML/XMLDimension.cpp b/DDCore/src/XML/XMLDimension.cpp
index fe0eadef1..15426b785 100644
--- a/DDCore/src/XML/XMLDimension.cpp
+++ b/DDCore/src/XML/XMLDimension.cpp
@@ -110,6 +110,7 @@ XML_ATTR_ACCESSOR_DOUBLE(psi)
 XML_ATTR_ACCESSOR_DOUBLE(phi)
 XML_ATTR_ACCESSOR(int, phiBins)
 XML_ATTR_ACCESSOR_DOUBLE(phi0)
+XML_ATTR_ACCESSOR_DOUBLE(phi0_offset)
 XML_ATTR_ACCESSOR_DOUBLE(phi1)
 XML_ATTR_ACCESSOR_DOUBLE(deltaphi)
 XML_ATTR_ACCESSOR_DOUBLE(startphi)
@@ -142,6 +143,9 @@ XML_ATTR_ACCESSOR(double, thickness)
 XML_ATTR_ACCESSOR(double, inner_stereo)
 XML_ATTR_ACCESSOR(double, outer_stereo)
 XML_ATTR_ACCESSOR(int, numsides)
+XML_ATTR_ACCESSOR(int, nsides)
+XML_ATTR_ACCESSOR(int, nsides_inner)
+XML_ATTR_ACCESSOR(int, nsides_outer)
 XML_ATTR_ACCESSOR(int, number)
 XML_ATTR_ACCESSOR(int, repeat)
 XML_ATTR_ACCESSOR(bool, reflect)
-- 
GitLab