Index: trunk/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh
===================================================================
--- trunk/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh	(revision 812)
+++ trunk/examples/extended/medical/DICOM/include/DicomDetectorConstruction.hh	(revision 1230)
@@ -79,4 +79,6 @@
   // construct the patient volumes. This method should be implemented for each of the derived classes
 
+  void SetScorer(G4LogicalVolume* voxel_logic);
+
 protected:
   G4Material* air;
Index: trunk/examples/extended/medical/DICOM/include/DicomNestedPhantomParameterisation.hh
===================================================================
--- trunk/examples/extended/medical/DICOM/include/DicomNestedPhantomParameterisation.hh	(revision 812)
+++ trunk/examples/extended/medical/DICOM/include/DicomNestedPhantomParameterisation.hh	(revision 1230)
@@ -24,11 +24,16 @@
 // ********************************************************************
 //
-#ifndef RE02NESTEDPARAMETERISATION_HH
-#define RE02NESTEDPARAMETERISATION_HH
+// $Id: DicomNestedPhantomParameterisation.hh,v 1.3 2009/01/27 10:44:58 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-03-cand-01 $
+//
+// --------------------------------------------------------------------
+#ifndef DICOMNESTEDPARAMETERISATION_HH
+#define DICOMNESTEDPARAMETERISATION_HH
+
+#include <vector>
 
 #include "G4Types.hh"
+#include "G4ThreeVector.hh"
 #include "G4VNestedParameterisation.hh" 
-#include "G4ThreeVector.hh"
-#include <vector>
 
 class G4VPhysicalVolume;
@@ -52,78 +57,68 @@
 class G4Hype;
 
-class DicomNestedPhantomParameterisation: public G4VNestedParameterisation
+class DicomNestedPhantomParameterisation : public G4VNestedParameterisation
 {
-  public:  // with description
+  public:
 
     DicomNestedPhantomParameterisation(const G4ThreeVector& voxelSize,
-				      std::vector<G4Material*>& mat);
+                                       std::vector<G4Material*>& mat);
     virtual ~DicomNestedPhantomParameterisation(); 
 
-    // Methods required in derived classes
-    // -----------------------------------
-    virtual G4Material* ComputeMaterial(G4VPhysicalVolume *currentVol,
-					const G4int repNo, 
-                                        const G4VTouchable *parentTouch=0
-                                        );
-  // Required method, as it is the reason for this class.
-  //   Must cope with parentTouch=0 for navigator's SetupHierarchy
+    G4Material* ComputeMaterial(G4VPhysicalVolume *currentVol,
+                                const G4int repNo, 
+                                const G4VTouchable *parentTouch );
+      // Must cope with parentTouch for navigator's SetupHierarchy
 
-    virtual G4int       GetNumberOfMaterials() const;
-    virtual G4Material* GetMaterial(G4int idx) const;
+    G4int       GetNumberOfMaterials() const;
+    G4Material* GetMaterial(G4int idx) const;
       // Needed to define materials for instances of Nested Parameterisation 
-      //   Current convention: each call should return the materials 
-      //   of all instances with the same mother/ancestor volume.
+      // Current convention: each call should return the materials 
+      // of all instances with the same mother/ancestor volume
+
     size_t GetMaterialIndex( size_t nx, size_t ny, size_t nz) const;
     size_t GetMaterialIndex( size_t copyNo) const;
-    void SetMaterialIndices( size_t* matInd ){
-      fMaterialIndices = matInd; }
+    void SetMaterialIndices( size_t* matInd ) { fMaterialIndices = matInd; }
     void SetNoVoxel( size_t nx, size_t ny, size_t nz );
 
-    virtual void ComputeTransformation(const G4int no,
-                                       G4VPhysicalVolume *currentPV) const;
-
-    // Methods optional in derived classes
-    // -----------------------------------
+    void ComputeTransformation(const G4int no,
+                                     G4VPhysicalVolume *currentPV) const;
 
     // Additional standard Parameterisation methods, 
-    //   which can be optionally defined, in case solid is used.
+    // which can be optionally defined, in case solid is used.
 
-    virtual void ComputeDimensions(G4Box &,
-                                   const G4int,
-                                   const G4VPhysicalVolume *) const;
+    void ComputeDimensions(G4Box &, const G4int,
+                                    const G4VPhysicalVolume *) const;
 
-private:  // Dummy declarations to get rid of warnings ...
-  void ComputeDimensions (G4Trd&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Trap&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Cons&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Sphere&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Orb&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Torus&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Para&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Hype&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Tubs&,const G4int,const G4VPhysicalVolume*) 
-    const {}
-  void ComputeDimensions (G4Polycone&,const G4int,const G4VPhysicalVolume*)
-    const {}
-  void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) 
-    const {}
+  private:  // Dummy declarations to get rid of warnings ...
 
-private:
-  G4double fdX,fdY,fdZ;
-  G4int fnX,fnY,fnZ;
-  
-  //
-  std::vector<G4Material*> fMaterials;
+    void ComputeDimensions (G4Trd&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Trap&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Cons&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Sphere&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Orb&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Torus&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Para&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Hype&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Tubs&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Polycone&, const G4int,
+                            const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Polyhedra&, const G4int,
+                            const G4VPhysicalVolume*) const {}
 
-  size_t* fMaterialIndices;
-      // Index in fMaterials that correspond to each voxel.
+  private:
+
+    G4double fdX,fdY,fdZ;
+    G4int fnX,fnY,fnZ;
+    std::vector<G4Material*> fMaterials;
+    size_t* fMaterialIndices; // Index in materials corresponding to each voxel
 };
 
