Index: trunk/source/visualization/modeling/include/G4BoundingSphereScene.hh
===================================================================
--- trunk/source/visualization/modeling/include/G4BoundingSphereScene.hh	(revision 954)
+++ trunk/source/visualization/modeling/include/G4BoundingSphereScene.hh	(revision 1140)
@@ -25,5 +25,5 @@
 //
 //
-// $Id: G4BoundingSphereScene.hh,v 1.18 2008/01/04 21:59:15 allison Exp $
+// $Id: G4BoundingSphereScene.hh,v 1.19 2009/10/21 14:17:33 allison Exp $
 // GEANT4 tag $Name:  $
 //
@@ -71,4 +71,5 @@
   void AddCompound (const G4VTrajectory&) {}
   void AddCompound (const G4VHit&) {}
+  void AddCompound (const G4THitsMap<G4double>&) {}
   G4VisExtent GetBoundingSphereExtent ();
   const G4Point3D& GetCentre() const {return fCentre;}
Index: trunk/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh
===================================================================
--- trunk/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh	(revision 954)
+++ trunk/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh	(revision 1140)
@@ -25,5 +25,5 @@
 //
 //
-// $Id: G4PhysicalVolumeMassScene.hh,v 1.9 2008/01/04 21:59:15 allison Exp $
+// $Id: G4PhysicalVolumeMassScene.hh,v 1.10 2009/10/21 14:17:33 allison Exp $
 // GEANT4 tag $Name:  $
 //
@@ -109,4 +109,5 @@
   void AddCompound (const G4VTrajectory&) {}
   void AddCompound (const G4VHit&) {}
+  void AddCompound (const G4THitsMap<G4double>&) {}
 
   ////////////////////////////////////////////////////////////////
Index: trunk/source/visualization/modeling/include/G4PhysicalVolumeModel.hh
===================================================================
--- trunk/source/visualization/modeling/include/G4PhysicalVolumeModel.hh	(revision 954)
+++ trunk/source/visualization/modeling/include/G4PhysicalVolumeModel.hh	(revision 1140)
@@ -25,5 +25,5 @@
 //
 //
-// $Id: G4PhysicalVolumeModel.hh,v 1.34 2007/04/03 13:46:49 allison Exp $
+// $Id: G4PhysicalVolumeModel.hh,v 1.35 2009/10/10 14:29:59 allison Exp $
 // GEANT4 tag $Name:  $
 //
@@ -49,4 +49,5 @@
 
 #include "G4VModel.hh"
+#include "G4VTouchable.hh"
 
 #include "G4Transform3D.hh"
@@ -76,9 +77,16 @@
   public:
     G4PhysicalVolumeNodeID
-    (G4VPhysicalVolume* pPV = 0, G4int iCopyNo = 0, G4int depth = 0):
-      fpPV(pPV), fCopyNo(iCopyNo), fNonCulledDepth(depth) {}
+    (G4VPhysicalVolume* pPV = 0,
+     G4int iCopyNo = 0,
+     G4int depth = 0,
+     const G4Transform3D& transform = G4Transform3D()):
+      fpPV(pPV),
+      fCopyNo(iCopyNo),
+      fNonCulledDepth(depth),
+      fTransform(transform) {}
     G4VPhysicalVolume* GetPhysicalVolume() const {return fpPV;}
     G4int GetCopyNo() const {return fCopyNo;}
     G4int GetNonCulledDepth() const {return fNonCulledDepth;}
+    const G4Transform3D& GetTransform() const {return fTransform;}
     G4bool operator< (const G4PhysicalVolumeNodeID& right) const;
   private:
@@ -86,6 +94,22 @@
     G4int fCopyNo;
     G4int fNonCulledDepth;
+    G4Transform3D fTransform;
   };
   // Nested class for identifying physical volume nodes.
+
+  class G4PhysicalVolumeModelTouchable: public G4VTouchable {
+  public:
+    G4PhysicalVolumeModelTouchable
+    (const std::vector<G4PhysicalVolumeNodeID>& fullPVPath);
+    const G4ThreeVector& GetTranslation(G4int depth) const;
+    const G4RotationMatrix* GetRotation(G4int depth) const;
+    G4VPhysicalVolume* GetVolume(G4int depth) const;
+    G4VSolid* GetSolid(G4int depth) const;
+    G4int GetReplicaNumber(G4int depth) const;
+    G4int GetHistoryDepth() const {return fFullPVPath.size();}
+  private:
+    const std::vector<G4PhysicalVolumeNodeID>& fFullPVPath;
+  };
+  // Nested class for handling nested parameterisations.
 
   G4PhysicalVolumeModel
Index: trunk/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh
===================================================================
--- trunk/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh	(revision 954)
+++ trunk/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh	(revision 1140)
@@ -25,5 +25,5 @@
 //
 //
-// $Id: G4PhysicalVolumeSearchScene.hh,v 1.18 2008/01/04 21:59:15 allison Exp $
+// $Id: G4PhysicalVolumeSearchScene.hh,v 1.19 2009/10/21 14:17:33 allison Exp $
 // GEANT4 tag $Name:  $
 //
@@ -74,4 +74,5 @@
   void AddCompound (const G4VTrajectory&) {}
   void AddCompound (const G4VHit&) {}
+  void AddCompound (const G4THitsMap<G4double>&) {}
   G4int                GetFoundDepth          () const;
   G4VPhysicalVolume*   GetFoundVolume         () const;
