From 6c20244aacf2a29fbbdb2195ed2767f47fc1952e Mon Sep 17 00:00:00 2001
From: Markus Frank <markus.frank@cern.ch>
Date: Tue, 8 Dec 2015 13:54:08 +0000
Subject: [PATCH] Set volume alpha for visattrs if ROOT_VERSION>= 5.34.25

---
 DDCore/src/Volumes.cpp                  |  6 ++++-
 DDG4/plugins/Geant4EventReaderHepMC.cpp |  4 +--
 examples/CLICSiD/compact/compact.xml    | 34 ++++++++++++-------------
 3 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/DDCore/src/Volumes.cpp b/DDCore/src/Volumes.cpp
index 4e954ec35..da1338db7 100644
--- a/DDCore/src/Volumes.cpp
+++ b/DDCore/src/Volumes.cpp
@@ -589,9 +589,13 @@ const Volume& Volume::setVisAttributes(const VisAttr& attr) const {
     m_element->SetLineColor(dark);
     if (draw_style == VisAttr::SOLID) {
       m_element->SetLineColor(bright);
+#if ROOT_VERSION_CODE >= ROOT_VERSION(5,34,25)
+      m_element->SetFillColorAlpha(bright,vis->alpha);
+#else
       m_element->SetFillColor(bright);
-      // ROOT 6: m_element->SetFillColorAlpha(bright,vis->alpha);
+#endif
       m_element->SetFillStyle(1001);   // Root: solid
+      m_element->GetMedium()->GetMaterial()->SetTransparency((1-vis->alpha)*100);
     }
     else {
       printout(DEBUG,"setVisAttributes","Set to wireframe vis:%s",name());
diff --git a/DDG4/plugins/Geant4EventReaderHepMC.cpp b/DDG4/plugins/Geant4EventReaderHepMC.cpp
index df551e348..6a2cf82cf 100644
--- a/DDG4/plugins/Geant4EventReaderHepMC.cpp
+++ b/DDG4/plugins/Geant4EventReaderHepMC.cpp
@@ -531,7 +531,7 @@ int HepMC::read_heavy_ion(EventStream &, istringstream & input)  {
 
 int HepMC::read_pdf(EventStream &, istringstream & input)  {
   // read values into temp variables, then create a new PdfInfo object
-  int id1 =0, id2 =0, pdf_id1=0, pdf_id2=0;
+  int id1 =0, id2 =0;
   double  x1 = 0., x2 = 0., scale = 0., pdf1 = 0., pdf2 = 0.;
   input >> id1 ;
   if ( input.fail()  )
@@ -555,7 +555,7 @@ int HepMC::read_pdf(EventStream &, istringstream & input)  {
   */
   // check to see if we are at the end of the line
   if( !input.eof() )  {
-    double pdf_id1=0.0, pdf_id2=0.0;
+    int pdf_id1=0, pdf_id2=0;
     input >> pdf_id1 >> pdf_id2;
     /*
     pdf->set_pdf_id1( pdf_id1 );
diff --git a/examples/CLICSiD/compact/compact.xml b/examples/CLICSiD/compact/compact.xml
index e08575075..c6320d831 100644
--- a/examples/CLICSiD/compact/compact.xml
+++ b/examples/CLICSiD/compact/compact.xml
@@ -212,17 +212,17 @@
   <display>
     <vis name="InvisibleNoDaughters"      showDaughters="false" visible="false"/>
     <vis name="InvisibleWithDaughters"    showDaughters="true" visible="false"/>
-    <vis name="SiVertexBarrelModuleVis" alpha="1.0" r="1" g="1" b="0.6" drawingStyle="wireframe" showDaughters="true" visible="true"/>
-    <vis name="SiVertexSensitiveVis" alpha="1.0" r="1" g="0.2" b="0.2" drawingStyle="solid" showDaughters="true" visible="true"/>
-    <vis name="SiVertexPassiveVis"   alpha="1.0" r="0" g="0.2" b="1" drawingStyle="solid" showDaughters="true" visible="true"/>
-    <vis name="SiVertexBarrelLayerVis" alpha="1.0" r="1" g="1" b="0.6" showDaughters="true" visible="false"/>
+    <vis name="SiVertexBarrelModuleVis"   alpha="1.0" r="1" g="1" b="0.6" drawingStyle="wireframe" showDaughters="true" visible="true"/>
+    <vis name="SiVertexSensitiveVis"      alpha="1.0" r="1" g="0.2" b="0.2" drawingStyle="solid" showDaughters="true" visible="true"/>
+    <vis name="SiVertexPassiveVis"        alpha="1.0" r="0" g="0.2" b="1" drawingStyle="solid" showDaughters="true" visible="true"/>
+    <vis name="SiVertexBarrelLayerVis"    alpha="0.1" r="1" g="1" b="0.6" showDaughters="true" visible="false"/>
     
-    <vis name="SiVertexEndcapLayerVis" alpha="1.0" r="1" g="0.75" b="0" showDaughters="false" visible="true"/>
+    <vis name="SiVertexEndcapLayerVis"    alpha="0.1" r="1" g="0.75" b="0" showDaughters="false" visible="true"/>
 
-    <vis name="SiTrackerBarrelModuleVis" alpha="1.0" r="0" g="1" b="0.6" drawingStyle="wireframe" showDaughters="false" visible="true"/>
-    <vis name="SiTrackerBarrelLayerVis" alpha="1.0" r="1" g="1" b="0.6" showDaughters="true" visible="true"/>
+    <vis name="SiTrackerBarrelModuleVis"  alpha="0.5" r="0" g="1" b="0.6" drawingStyle="wireframe" showDaughters="false" visible="true"/>
+    <vis name="SiTrackerBarrelLayerVis"   alpha="0.1" r="1" g="1" b="0.6" showDaughters="true" visible="true"/>
     
-    <vis name="SiTrackerEndcapModuleVis" alpha="0.1" r="0.8" g="1.0" b="0.1" drawingStyle="wireframe" showDaughters="false" visible="true"/>        
+    <vis name="SiTrackerEndcapModuleVis" alpha="0.5" r="0.8" g="1.0" b="0.1" drawingStyle="wireframe" showDaughters="false" visible="true"/>        
     
     <vis name="SiTrackerForwardVis" alpha="1.0" r="0.8" g="0.1" b="0.1" showDaughters="false" visible="true"/>
     
@@ -231,28 +231,28 @@
 
     <vis name="EcalEndcapVis"       alpha="1" r="0.77" g="0.74" b="0.86" showDaughters="false" visible="true"/>
 
-    <vis name="HcalBarrelVis"          alpha="1" r="1"    g="1"    b="0.1" showDaughters="true" visible="true"/>
-    <vis name="HcalBarrelStavesVis"    alpha="1" r="1"    g="0"    b="0.3" showDaughters="true" visible="true"/>
-    <vis name="HcalBarrelLayerVis"     alpha="1" r="1"    g="0"    b="0.5" showDaughters="true" visible="true"/>
+    <vis name="HcalBarrelVis"          alpha="0.1" r="1"    g="1"    b="0.1" showDaughters="true" visible="true"/>
+    <vis name="HcalBarrelStavesVis"    alpha="0.1" r="1"    g="0"    b="0.3" showDaughters="true" visible="true"/>
+    <vis name="HcalBarrelLayerVis"     alpha="0.5" r="1"    g="0"    b="0.5" showDaughters="true" visible="true"/>
     <vis name="HcalBarrelSensorVis"    alpha="1" r="1"    g="1"    b="0.7" showDaughters="true" visible="true"/>
 
-    <vis name="HcalEndcapVis"          alpha="1" r="1"    g="1"    b="0.1" showDaughters="false" visible="true"/>
+    <vis name="HcalEndcapVis"          alpha="0.1" r="1"    g="1"    b="0.1" showDaughters="false" visible="true"/>
     <vis name="HcalEndcapLayerVis"     alpha="1" r="1"    g="0"    b="0.5" showDaughters="false" visible="true"/>
     
     <vis name="SolenoidBarrelLayerVis" alpha="1" r="0"    g="0.3"  b="0.3" showDaughters="false" visible="true"/>
     <vis name="SolenoidCoilEndsVis"    alpha="1" r="0"    g="0.9"  b="0.9" showDaughters="false" visible="true"/>
     <vis name="AntiSolenoidVis"        alpha="1" r="0.3"  g="1"    b="1"   showDaughters="false" visible="true"/>
 
-    <vis name="MuonBarrelVis"          alpha="1" r="1"    g="0.4"  b="0.62" showDaughters="true" visible="true"/>
-    <vis name="MuonBarrelStavesVis"    alpha="1" r="0"    g="0.7"  b="0.3" showDaughters="true" visible="true"/>
-    <vis name="MuonBarrelLayerVis"     alpha="1" r="0"    g="1"    b="0.3" showDaughters="true" visible="true"/>
+    <vis name="MuonBarrelVis"          alpha="0.1" r="1"    g="0.4"  b="0.62" showDaughters="true" visible="true"/>
+    <vis name="MuonBarrelStavesVis"    alpha="0.3" r="0"    g="0.7"  b="0.3" showDaughters="true" visible="true"/>
+    <vis name="MuonBarrelLayerVis"     alpha="0.5" r="0"    g="1"    b="0.3" showDaughters="true" visible="true"/>
     <vis name="MuonBarrelSensorVis"    alpha="1" r="0.54" g="0.4"  b="0.41" visible="true"/>
     <vis name="MuonBarrelAbsorberVis"  alpha="1" r="0.28" g="0.4"  b="0.62" visible="true"/>        
 
-    <vis name="MuonEndcapVis"          alpha="1" r="1"    g="0.4"  b="0.62" showDaughters="true" visible="true"/>
+    <vis name="MuonEndcapVis"          alpha="0.1" r="1"    g="0.4"  b="0.62" showDaughters="true" visible="true"/>
     <vis name="MuonEndcapLayerVis"     alpha="1" r="0"    g="1"    b="0.3"  showDaughters="true" visible="true"/>
     <vis name="MuonEndcapSensorVis"    alpha="1" r="0.54" g="0.4"  b="0.41" visible="true"/>
-    <vis name="MuonEndcapAbsorberVis"  alpha="1" r="0.28" g="0.4"  b="0.62" visible="true"/>        
+    <vis name="MuonEndcapAbsorberVis"  alpha="0.3" r="0.28" g="0.4"  b="0.62" visible="true"/>        
     
     
     <vis name="BeamPipeVis" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true"/>
-- 
GitLab