Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCDetectorConstruction.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCDetectorConstruction.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCDetectorConstruction.hh	(revision 1316)
@@ -0,0 +1,148 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCDetectorConstruction.hh,v 1.6 2006/12/13 15:43:46 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCDetectorConstruction_h
+#define SCDetectorConstruction_h 1
+
+#include "globals.hh"
+#include "G4VUserDetectorConstruction.hh"
+#include "SCMagneticField.hh"
+#include "G4VSolid.hh"
+
+class G4Box ;
+class G4LogicalVolume;
+class G4VPhysicalVolume;
+class G4Material;
+class SCDetectorMessenger;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCDetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+  
+     SCDetectorConstruction();
+    ~SCDetectorConstruction();
+
+  public:
+  
+     G4VPhysicalVolume* Construct();
+     
+     const 
+     G4VPhysicalVolume* GetTracker() {return physiTracker;};
+     G4double GetWorldFullLength()   {return fWorldLength;}; 
+
+
+     G4double GetTrackerR() { return fTrackerR ; } ;
+     G4double GetTrackerR1() { return fTrackerR1 ; } ;
+     G4double GetTrackerR2() { return fTrackerR2 ; } ;
+
+     G4double GetTrackerpDz()  { return fTrackerpDz;};
+     G4double GetTrackerpDx1() { return fTrackerpDx1 ; } ;
+     G4double GetTrackerpDx2() { return fTrackerpDx2 ; } ;
+     G4double GetTrackerpDx3() { return fTrackerpDx3 ; } ;
+     G4double GetTrackerpDx4() { return fTrackerpDx4 ; } ;
+
+     G4double GetTrackerpDy1() { return fTrackerpDy1 ; } ;
+     G4double GetTrackerpDy2() { return fTrackerpDy2 ; } ;
+     G4double GetTwistAngle() { return fTwistAngle ; } ;
+
+     G4double GetAlpha() { return fAlph ; } ;
+     G4double GetPhi() { return fPhi ; } ;
+     G4double GetTheta() { return fTheta ; } ;
+     G4String GetDetectorType() { return fval ; } ;
+
+     G4double GetPhiSegment()   { return fPhiSegment ; } ;
+     G4double GetThetaSegment() { return fThetaSegment ; } ;
+
+     G4double GetSemiAxisX() { return fSemiAxisX ; }
+     G4double GetSemiAxisY() { return fSemiAxisY ; }
+     G4double GetSemiAxisZ() { return fSemiAxisZ ; }
+
+     G4VSolid * GetSolid()  { return aVolume ; }
+
+     void  SwitchDetector();
+     G4VPhysicalVolume* SelectDetector (const G4String& val);
+
+     void setTargetMaterial (G4String);
+     void setChamberMaterial(G4String);
+     void SetMagField(G4double);
+     
+  private:
+
+     G4Box*             solidWorld;    // pointer to the solid envelope 
+     G4LogicalVolume*   logicWorld;    // pointer to the logical envelope
+     G4VPhysicalVolume* physiWorld;    // pointer to the physical envelope
+     G4VSolid* aVolume;
+
+  //     G4TwistedTrap*     solidTracker;
+
+     G4LogicalVolume*   logicTracker;  // pointer to the logical Tracker
+     G4VPhysicalVolume* physiTracker;  // pointer to the physical Tracker
+     
+     SCMagneticField* fpMagField;   // pointer to the magnetic field 
+     
+     SCDetectorMessenger* detectorMessenger;  // pointer to the Messenger
+       
+     G4double fWorldLength;            // Full length of the world volume
+
+
+     G4double fTrackerR ;   // a radius
+     G4double fTrackerR1 ;   // r1
+     G4double fTrackerR2 ;   // r2
+    
+     G4double fTrackerpDz  ;          // Full length of Tracker (pDz)
+     G4double fTrackerpDx1 ;  // twisted Trapezoid
+     G4double fTrackerpDx2 ;
+     G4double fTrackerpDx3 ;
+     G4double fTrackerpDx4 ;
+     G4double fTrackerpDy1 ;
+     G4double fTrackerpDy2 ;
+     G4double fTwistAngle ;
+     G4double fPhi ;
+     G4double fTheta ;
+     G4double fAlph ;
+     G4double fSemiAxisX ;
+     G4double fSemiAxisY ;
+     G4double fSemiAxisZ ;
+
+
+     G4double fPhiSegment ;    // e.g. for a sphere : phi in [phi,phi+segment]
+     G4double fThetaSegment ;
+ 
+     G4String fval ;
+
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCDetectorMessenger.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCDetectorMessenger.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCDetectorMessenger.hh	(revision 1316)
@@ -0,0 +1,50 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef SCDetectorMessenger_h
+#define SCDetectorMessenger_h 1
+
+#include "globals.hh"
+#include "G4UImessenger.hh"
+
+class SCDetectorConstruction;
+class G4UIdirectory;
+class G4UIcmdWithAString;
+
+class SCDetectorMessenger: public G4UImessenger
+{
+  public:
+    SCDetectorMessenger(SCDetectorConstruction * myDC);
+      void SetNewValue(G4UIcommand * command,G4String newValues);
+  private:
+    SCDetectorConstruction * myDetector;
+    G4UIdirectory *      mydetDir;
+    G4UIcmdWithAString * selDetCmd;
+};
+
+#endif
+
+
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCEventAction.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCEventAction.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCEventAction.hh	(revision 1316)
@@ -0,0 +1,57 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCEventAction.hh,v 1.2 2006/06/29 18:54:24 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+#ifndef SCEventAction_h
+#define SCEventAction_h 1
+
+#include "G4UserEventAction.hh"
+
+class G4Event;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCEventAction : public G4UserEventAction
+{
+  public:
+    SCEventAction();
+   ~SCEventAction();
+
+  public:
+    void BeginOfEventAction(const G4Event*);
+    void EndOfEventAction(const G4Event*);
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+    
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCMagneticField.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCMagneticField.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCMagneticField.hh	(revision 1316)
@@ -0,0 +1,69 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCMagneticField.hh,v 1.2 2006/06/29 18:54:27 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//
+//    A class for control of the Magnetic Field of the detector.
+//  The field is assumed to be uniform.
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCMagneticField_H
+#define SCMagneticField_H
+
+#include "G4UniformMagField.hh"
+
+class G4FieldManager;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+
+class SCMagneticField: public G4UniformMagField
+{
+  public:
+  
+   SCMagneticField(G4ThreeVector);  //  The value of the field
+   SCMagneticField();               //  A zero field
+  ~SCMagneticField();  
+      
+   //Set the field (fieldValue,0,0)
+   void SetFieldValue(G4double fieldValue);
+   void SetFieldValue(G4ThreeVector fieldVector);
+      
+   G4ThreeVector GetConstantFieldValue();
+
+  protected:
+
+      // Find the global Field Manager
+      G4FieldManager* GetGlobalFieldManager();   // static 
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCPhysicsList.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCPhysicsList.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCPhysicsList.hh	(revision 1316)
@@ -0,0 +1,60 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCPhysicsList.hh,v 1.2 2006/06/29 18:54:29 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCPhysicsList_h
+#define SCPhysicsList_h 1
+
+#include "G4VUserPhysicsList.hh"
+#include "globals.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCPhysicsList: public G4VUserPhysicsList
+{
+  public:
+    SCPhysicsList();
+   ~SCPhysicsList();
+
+  protected:
+    // Construct particle and physics
+    void ConstructParticle();
+    void ConstructProcess();
+    void SetCuts();
+
+   
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+ 
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCPrimaryGeneratorAction.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCPrimaryGeneratorAction.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCPrimaryGeneratorAction.hh	(revision 1316)
@@ -0,0 +1,67 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCPrimaryGeneratorAction.hh,v 1.3 2006/06/29 18:54:31 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+#ifndef SCPrimaryGeneratorAction_h
+#define SCPrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+#include "G4ThreeVector.hh"
+
+class SCDetectorConstruction;
+class G4ParticleGun;
+class G4Event;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+class SCPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    SCPrimaryGeneratorAction(SCDetectorConstruction*);    
+   ~SCPrimaryGeneratorAction();
+
+  public:
+    void GeneratePrimaries(G4Event*);
+
+  private:
+
+    G4ParticleGun* particleGun;
+    G4ThreeVector GetRandomPosition( );
+    G4ThreeVector GetRandomDirection( );
+    G4ThreeVector GetSurfacePoint(G4double &u,G4double &v) ;
+    SCDetectorConstruction* myDetector;
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCRunAction.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCRunAction.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCRunAction.hh	(revision 1316)
@@ -0,0 +1,61 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCRunAction.hh,v 1.2 2006/06/29 18:54:33 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCRunAction_h
+#define SCRunAction_h 1
+
+#include "G4UserRunAction.hh"
+#include "globals.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class G4Run;
+
+class SCRunAction : public G4UserRunAction
+{
+  public:
+    SCRunAction();
+   ~SCRunAction();
+
+  public:
+    void BeginOfRunAction(const G4Run*);
+    void EndOfRunAction(const G4Run*);
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+
+
+
+
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCSteppingAction.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCSteppingAction.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCSteppingAction.hh	(revision 1316)
@@ -0,0 +1,51 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCSteppingAction.hh,v 1.2 2006/06/29 18:54:35 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCSteppingAction_h
+#define SCSteppingAction_h 1
+
+#include "G4UserSteppingAction.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCSteppingAction : public G4UserSteppingAction
+{
+  public:
+    SCSteppingAction();
+   ~SCSteppingAction(){};
+
+    void UserSteppingAction(const G4Step*);
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCSteppingVerbose.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCSteppingVerbose.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCSteppingVerbose.hh	(revision 1316)
@@ -0,0 +1,60 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCSteppingVerbose.hh,v 1.2 2006/06/29 18:54:37 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//   This class manages the verbose outputs in G4SteppingManager. 
+//   It inherits from G4SteppingVerbose.
+//   It shows how to extract informations during the tracking of a particle.
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCSteppingVerbose;
+
+#ifndef SCSteppingVerbose_h
+#define SCSteppingVerbose_h 1
+
+#include "G4SteppingVerbose.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCSteppingVerbose : public G4SteppingVerbose 
+{
+ public:
+   
+  SCSteppingVerbose();
+ ~SCSteppingVerbose();
+
+  void StepInfo();
+  void TrackingStarted();
+
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCTrackerHit.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCTrackerHit.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCTrackerHit.hh	(revision 1316)
@@ -0,0 +1,103 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCTrackerHit.hh,v 1.2 2006/06/29 18:54:39 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCTrackerHit_h
+#define SCTrackerHit_h 1
+
+#include "G4VHit.hh"
+#include "G4THitsCollection.hh"
+#include "G4Allocator.hh"
+#include "G4ThreeVector.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCTrackerHit : public G4VHit
+{
+  public:
+
+      SCTrackerHit();
+     ~SCTrackerHit();
+      SCTrackerHit(const SCTrackerHit&);
+      const SCTrackerHit& operator=(const SCTrackerHit&);
+      G4int operator==(const SCTrackerHit&) const;
+
+      inline void* operator new(size_t);
+      inline void  operator delete(void*);
+
+      void Draw();
+      void Print();
+
+  public:
+  
+      void SetTrackID  (G4int track)      { trackID = track; };
+      void SetChamberNb(G4int chamb)      { chamberNb = chamb; };  
+      void SetEdep     (G4double de)      { edep = de; };
+      void SetPos      (G4ThreeVector xyz){ pos = xyz; };
+      
+      G4int GetTrackID()    { return trackID; };
+      G4int GetChamberNb()  { return chamberNb; };
+      G4double GetEdep()    { return edep; };      
+      G4ThreeVector GetPos(){ return pos; };
+      
+  private:
+  
+      G4int         trackID;
+      G4int         chamberNb;
+      G4double      edep;
+      G4ThreeVector pos;
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+typedef G4THitsCollection<SCTrackerHit> SCTrackerHitsCollection;
+
+extern G4Allocator<SCTrackerHit> SCTrackerHitAllocator;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+inline void* SCTrackerHit::operator new(size_t)
+{
+  void *aHit;
+  aHit = (void *) SCTrackerHitAllocator.MallocSingle();
+  return aHit;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+inline void SCTrackerHit::operator delete(void *aHit)
+{
+  SCTrackerHitAllocator.FreeSingle((SCTrackerHit*) aHit);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCTrackerSD.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCTrackerSD.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCTrackerSD.hh	(revision 1316)
@@ -0,0 +1,62 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCTrackerSD.hh,v 1.2 2006/06/29 18:54:41 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCTrackerSD_h
+#define SCTrackerSD_h 1
+
+#include "G4VSensitiveDetector.hh"
+#include "SCTrackerHit.hh"
+
+class G4Step;
+class G4HCofThisEvent;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCTrackerSD : public G4VSensitiveDetector
+{
+  public:
+      SCTrackerSD(G4String);
+     ~SCTrackerSD();
+
+      void Initialize(G4HCofThisEvent*);
+      G4bool ProcessHits(G4Step*, G4TouchableHistory*);
+      void EndOfEvent(G4HCofThisEvent*);
+
+  private:
+      SCTrackerHitsCollection* trackerCollection;
+
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
Index: trunk/source/geometry/solids/test/SurfaceChecker/include/SCVisManager.hh
===================================================================
--- trunk/source/geometry/solids/test/SurfaceChecker/include/SCVisManager.hh	(revision 1316)
+++ trunk/source/geometry/solids/test/SurfaceChecker/include/SCVisManager.hh	(revision 1316)
@@ -0,0 +1,75 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: SCVisManager.hh,v 1.2 2006/06/29 18:54:44 gunter Exp $
+// GEANT4 tag $Name: geant4-09-04-beta-cand-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Example Visualization Manager implementing virtual function
+//   RegisterGraphicsSystems.  Exploits C-pre-processor variables
+//   G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if
+//   environment variables of the same name are set.
+
+// So all you have to do is set environment variables and compile and
+//   instantiate this in your main().
+
+// Alternatively, you can implement an empty function here and just
+//   register the systems you want in your main(), e.g.:
+//   G4VisManager* myVisManager = new MyVisManager;
+//   myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem);
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef SCVisManager_h
+#define SCVisManager_h 1
+
+#ifdef G4VIS_USE
+
+#include "G4VisManager.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class SCVisManager: public G4VisManager {
+
+public:
+
+  SCVisManager ();
+
+private:
+
+  void RegisterGraphicsSystems ();
+
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+#endif
