Import Geant4 9.0.0 source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.115 2007/04/11 08:00:12 gcosmo Exp $
|
||||
$Id: History,v 1.119 2007/06/19 11:28:38 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -17,6 +17,25 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
June 19, 2007 G.Cosmo geommng-V08-03-03
|
||||
- Apply migration to <cmath> and std:: for G4ErrorCylSurfaceTarget and
|
||||
G4ErrorPlaneSurfaceTarget implementations. Fixes compilation problems
|
||||
detected on Windows VC++8.
|
||||
|
||||
May 16, 2007 G.Cosmo geommng-V08-03-02
|
||||
- Introduced new classes for handling error propagation: G4ErrorTarget,
|
||||
G4ErrorSurfaceTarget, G4ErrorTanPlaneTarget, G4ErrorPlaneSurfaceTarget,
|
||||
G4ErrorCylSurfaceTarget (by P.Arce).
|
||||
- Coworks with tag "global-V08-03-02".
|
||||
|
||||
May 11, 2007 G.Cosmo geommng-V08-03-01
|
||||
- Use call to G4GeometryTolerance instead of kCarTolerance where needed.
|
||||
- Requires tag "global-V08-03-00" and related tag set.
|
||||
|
||||
April 26, 2007 M.Asai geommng-V08-03-00
|
||||
- Added forward declaration and pointer (with set/get methods) to
|
||||
G4VUserSteppingAction, to allow for stepping actions defined at region.
|
||||
|
||||
April 11, 2007 G.Cosmo geommng-V08-02-02
|
||||
- Added 'get' methods to stores for retrivial of volumes/solid by name.
|
||||
- Modified signature of G4VPhysicalVolume::CheckOverlaps() to introduce
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AffineTransform.hh,v 1.6 2006/06/29 18:30:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4AffineTransform
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AffineTransform.icc,v 1.8 2006/06/29 18:30:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// G4AffineTransformation Inline implementation
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4BlockingList.hh,v 1.4 2006/06/29 18:30:41 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4BlockingList
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4BlockingList.icc,v 1.3 2006/06/29 18:30:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4BlockingList Inlined Implementation
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorCylSurfaceTarget.hh,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// --------------------------------------------------------------------
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// G4ErrorTarget class: limits step when track reaches a cylindrical surface.
|
||||
|
||||
// History:
|
||||
// - Created. P. Arce, September 2004
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4ErrorCylSurfaceTarget_hh
|
||||
#define G4ErrorCylSurfaceTarget_hh
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ErrorSurfaceTarget.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
#include "G4AffineTransform.hh"
|
||||
#include "G4Plane3D.hh"
|
||||
|
||||
class G4ErrorCylSurfaceTarget : public G4ErrorSurfaceTarget
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4ErrorCylSurfaceTarget( const G4double& radius,
|
||||
const G4ThreeVector& trans=G4ThreeVector(),
|
||||
const G4RotationMatrix& rotm=G4RotationMatrix() );
|
||||
// Constructs cylindrical surface by radius, translation and rotation
|
||||
|
||||
G4ErrorCylSurfaceTarget( const G4double& radius,
|
||||
const G4AffineTransform& trans );
|
||||
// Constructs cylindrical surface by radius and affine transformation
|
||||
|
||||
~G4ErrorCylSurfaceTarget();
|
||||
|
||||
virtual G4ThreeVector IntersectLocal( const G4ThreeVector& point,
|
||||
const G4ThreeVector& direc ) const;
|
||||
// Intersects the cylindrical surface with the line in local (cylinder)
|
||||
// coordinates, given by point and direction
|
||||
|
||||
virtual G4double GetDistanceFromPoint( const G4ThreeVector& point,
|
||||
const G4ThreeVector& direc ) const;
|
||||
// Distance from a point to the cylindrical surface in a given direction
|
||||
|
||||
virtual G4double GetDistanceFromPoint( const G4ThreeVector& point ) const;
|
||||
// Minimal distance from a point to the cylindrical surface in any
|
||||
// direction
|
||||
|
||||
virtual G4Plane3D GetTangentPlane( const G4ThreeVector& point ) const;
|
||||
// Get plane tangent to cylindrical surface at a given point
|
||||
|
||||
virtual void Dump( const G4String& msg ) const;
|
||||
// Dump cylindrical surface parameter
|
||||
|
||||
private:
|
||||
|
||||
G4double fradius;
|
||||
G4AffineTransform ftransform;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,89 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorPlaneSurfaceTarget.hh,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// --------------------------------------------------------------------
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// G4ErrorTarget class: limits step when track reaches a plane surface.
|
||||
|
||||
// History:
|
||||
// - Created. P. Arce, September 2004
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4ErrorPlaneSurfaceTarget_hh
|
||||
#define G4ErrorPlaneSurfaceTarget_hh
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ErrorSurfaceTarget.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4Plane3D.hh"
|
||||
|
||||
class G4ErrorPlaneSurfaceTarget : public G4ErrorSurfaceTarget, G4Plane3D
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4ErrorPlaneSurfaceTarget(G4double a=0, G4double b=0,
|
||||
G4double c=0, G4double d=0);
|
||||
// Constructs plane by parameters: ax+by+cz+d = 0
|
||||
|
||||
G4ErrorPlaneSurfaceTarget(const G4Normal3D &n,
|
||||
const G4Point3D &p);
|
||||
// Constructs plane by point and normal
|
||||
|
||||
G4ErrorPlaneSurfaceTarget(const G4Point3D &p1,
|
||||
const G4Point3D &p2,
|
||||
const G4Point3D &p3);
|
||||
// Constructs plane by three points
|
||||
|
||||
~G4ErrorPlaneSurfaceTarget();
|
||||
|
||||
virtual G4ThreeVector Intersect( const G4ThreeVector& point,
|
||||
const G4ThreeVector& direc ) const;
|
||||
// Intersects the surface with the line given by point and direction
|
||||
|
||||
virtual G4double GetDistanceFromPoint( const G4ThreeVector& point,
|
||||
const G4ThreeVector& direc ) const;
|
||||
// Distance from point to surface in a given direction
|
||||
|
||||
virtual G4double GetDistanceFromPoint( const G4ThreeVector& pt ) const;
|
||||
// Closest distance from point to surface
|
||||
|
||||
virtual G4Plane3D GetTangentPlane( const G4ThreeVector& point ) const;
|
||||
// Get tangent plane as itself
|
||||
|
||||
virtual void Dump( const G4String& msg ) const;
|
||||
// Dump plane surface parameter
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,72 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorSurfaceTarget.hh,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// --------------------------------------------------------------------
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Base class for G4ErrorTarget classes that are surfaces.
|
||||
|
||||
// History:
|
||||
// - Created. P. Arce, September 2004
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4ErrorSurfaceTarget_hh
|
||||
#define G4ErrorSurfaceTarget_hh
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4ErrorTanPlaneTarget.hh"
|
||||
#include "G4Plane3D.hh"
|
||||
|
||||
class G4ErrorSurfaceTarget : public G4ErrorTanPlaneTarget
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4ErrorSurfaceTarget();
|
||||
virtual ~G4ErrorSurfaceTarget();
|
||||
|
||||
virtual double GetDistanceFromPoint( const G4ThreeVector& point,
|
||||
const G4ThreeVector& direc ) const = 0;
|
||||
// Distance from a point to the surface in a given direction
|
||||
|
||||
virtual double GetDistanceFromPoint( const G4ThreeVector& point ) const = 0;
|
||||
// Minimal distance from a point to the surface in any direction
|
||||
|
||||
virtual G4Plane3D GetTangentPlane( const G4ThreeVector& point ) const = 0;
|
||||
// Get tangent plane at point
|
||||
|
||||
virtual void Dump( const G4String& msg ) const = 0;
|
||||
// Dump surface
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -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: G4ErrorTanPlaneTarget.hh,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// ------------------------------------------------------------
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Base class for G4ErrorTarget classes for which a tangent plane is defined.
|
||||
|
||||
// History:
|
||||
// - Created. P. Arce, September 2004
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4ErrorTanPlaneTarget_hh
|
||||
#define G4ErrorTanPlaneTarget_hh
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4ErrorTarget.hh"
|
||||
#include "G4Plane3D.hh"
|
||||
|
||||
class G4ErrorTanPlaneTarget : public G4ErrorTarget
|
||||
{
|
||||
|
||||
public: // with description
|
||||
|
||||
G4ErrorTanPlaneTarget();
|
||||
virtual ~G4ErrorTanPlaneTarget();
|
||||
|
||||
virtual G4Plane3D GetTangentPlane( const G4ThreeVector& point ) const = 0;
|
||||
// Get tangent plane at point
|
||||
|
||||
virtual void Dump( const G4String& msg ) const = 0;
|
||||
// Dump surface
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,88 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorTarget.hh,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// --------------------------------------------------------------------
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Base class for all error propagation targets.
|
||||
|
||||
// History:
|
||||
// - Created. P. Arce, September 2004
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4ErrorTarget_hh
|
||||
#define G4ErrorTarget_hh
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class G4Step;
|
||||
|
||||
enum G4ErrorTargetType{ G4ErrorTarget_PlaneSurface,
|
||||
G4ErrorTarget_CylindricalSurface,
|
||||
G4ErrorTarget_GeomVolume,
|
||||
G4ErrorTarget_TrkL };
|
||||
class G4ErrorTarget
|
||||
{
|
||||
public: // with description
|
||||
|
||||
G4ErrorTarget();
|
||||
virtual ~G4ErrorTarget();
|
||||
|
||||
virtual G4double GetDistanceFromPoint( const G4ThreeVector&,
|
||||
const G4ThreeVector& ) const;
|
||||
virtual G4double GetDistanceFromPoint( const G4ThreeVector& ) const;
|
||||
// For the target volume
|
||||
|
||||
virtual G4bool TargetReached(const G4Step*);
|
||||
// For the target surface and target TrackLength
|
||||
|
||||
virtual void Dump( const G4String& msg ) const = 0;
|
||||
|
||||
// Access methods
|
||||
|
||||
inline G4ErrorTargetType GetType() const;
|
||||
|
||||
protected:
|
||||
|
||||
G4ErrorTargetType theType;
|
||||
};
|
||||
|
||||
// Inline methods
|
||||
|
||||
inline G4ErrorTargetType G4ErrorTarget::GetType() const
|
||||
{
|
||||
return theType;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GeometryManager.hh,v 1.11 2006/06/29 18:30:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4GeometryManager.hh,v 1.12 2007/05/11 13:30:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4GeometryManager
|
||||
//
|
||||
@@ -71,6 +71,10 @@ class G4GeometryManager
|
||||
G4bool IsGeometryClosed();
|
||||
// Return true/false according to state of optimised geoemtry.
|
||||
|
||||
void SetWorldMaximumExtent(G4double worldExtent);
|
||||
// Set the maximum extent of the world volume. The operation is
|
||||
// allowed only if NO solids have been created already.
|
||||
|
||||
static G4GeometryManager* GetInstance();
|
||||
// Return ptr to singleton instance of the class.
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4IdentityTrajectoryFilter.hh,v 1.3 2006/06/29 18:30:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class GIdentityTrajectoryFilter
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalSurface.hh,v 1.10 2006/06/29 18:30:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Class G4LogicalSurface
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalSurface.icc,v 1.9 2006/06/29 18:30:52 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Surface Class Inline Methods
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalVolume.hh,v 1.26 2006/06/29 18:30:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4LogicalVolume
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalVolume.icc,v 1.24 2006/06/29 18:30:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4LogicalVolume Inline Implementation file
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalVolumeStore.hh,v 1.13 2007/04/10 10:13:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4LogicalVolumeStore
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PhysicalVolumeStore.hh,v 1.15 2007/04/10 10:13:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4PhysicalVolume
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ReflectedSolid.hh,v 1.5 2006/06/29 18:31:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4ReflectedSolid
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Region.hh,v 1.17 2006/06/29 18:31:05 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4Region.hh,v 1.19 2007/04/28 01:48:29 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4Region
|
||||
//
|
||||
@@ -49,6 +49,7 @@ class G4MaterialCutsCouple;
|
||||
class G4UserLimits;
|
||||
class G4FastSimulationManager;
|
||||
class G4VPhysicalVolume;
|
||||
class G4UserSteppingAction;
|
||||
|
||||
#include <vector>
|
||||
#include <map>
|
||||
@@ -163,6 +164,10 @@ class G4Region
|
||||
// Flag 'unique' is true if there is only one parent region containing
|
||||
// the current region.
|
||||
|
||||
inline void SetRegionalSteppingAction(G4UserSteppingAction* rusa);
|
||||
inline G4UserSteppingAction* GetRegionalSteppingAction() const;
|
||||
// Set/Get method of the regional user stepping action
|
||||
|
||||
public: // without description
|
||||
|
||||
G4Region(__void__&);
|
||||
@@ -197,6 +202,8 @@ class G4Region
|
||||
G4FastSimulationManager* fFastSimulationManager;
|
||||
|
||||
G4VPhysicalVolume* fWorldPhys;
|
||||
|
||||
G4UserSteppingAction* fRegionalSteppingAction;
|
||||
};
|
||||
|
||||
#include "G4Region.icc"
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Region.icc,v 1.13 2006/06/29 18:31:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4Region.icc,v 1.15 2007/04/28 01:48:29 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4Region Inline Implementation file
|
||||
@@ -274,4 +274,20 @@ void G4Region::AddMaterial(G4Material* aMaterial)
|
||||
}
|
||||
}
|
||||
|
||||
// ********************************************************************
|
||||
// SetRegionalSteppingAction
|
||||
// ********************************************************************
|
||||
//
|
||||
inline
|
||||
void G4Region::SetRegionalSteppingAction(G4UserSteppingAction* rusa)
|
||||
{ fRegionalSteppingAction = rusa; }
|
||||
|
||||
// ********************************************************************
|
||||
// GetRegionalSteppingAction
|
||||
// ********************************************************************
|
||||
//
|
||||
inline
|
||||
G4UserSteppingAction* G4Region::GetRegionalSteppingAction() const
|
||||
{ return fRegionalSteppingAction; }
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RegionStore.hh,v 1.10 2006/11/30 10:39:28 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4RegionStore
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelHeader.hh,v 1.10 2006/06/29 18:32:06 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4SmartVoxelHeader
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelHeader.icc,v 1.6 2006/06/29 18:32:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// G4SmartVoxelHeader Inline implementation
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelNode.hh,v 1.10 2006/06/29 18:32:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4SmartVoxelNode
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelNode.icc,v 1.5 2006/06/29 18:32:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// G4SmartVoxelNode Inline implementation
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelProxy.hh,v 1.8 2006/06/29 18:32:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4SmartVoxelProxy
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelProxy.icc,v 1.4 2006/06/29 18:32:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// G4SmartVoxelProxy Inline implementation
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4SmartVoxelStat.hh,v 1.4 2006/06/29 18:32:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SolidStore.hh,v 1.13 2007/04/10 10:13:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4SolidStore
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4TouchableHandle.hh,v 1.6 2006/06/29 18:32:25 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// Class G4TouchableHandle
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VCurvedTrajectoryFilter.hh,v 1.3 2006/06/29 18:32:27 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VCurevedTrajectoryFilter
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VNestedParameterisation.hh,v 1.6 2006/06/29 18:32:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VNestedParameterisation
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPVDivisionFactory.hh,v 1.2 2006/06/29 18:32:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VPVDivisionFactory
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPVParameterisation.hh,v 1.12 2006/06/29 18:32:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VPVParamterisation
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPhysicalVolume.hh,v 1.17 2007/04/11 08:00:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VPhysicalVolume
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPhysicalVolume.icc,v 1.10 2006/06/29 18:32:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VPhysicalVolume Inline Implementation
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VSolid.hh,v 1.25 2006/10/19 15:43:40 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4VSolid.hh,v 1.26 2007/05/11 13:30:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VSolid
|
||||
@@ -107,6 +107,9 @@ class G4VSolid
|
||||
inline void SetName(const G4String& name);
|
||||
// Sets the current shape's name.
|
||||
|
||||
inline G4double GetTolerance() const;
|
||||
// Returns the cached geometrical tolerance.
|
||||
|
||||
virtual G4bool CalculateExtent(const EAxis pAxis,
|
||||
const G4VoxelLimits& pVoxelLimit,
|
||||
const G4AffineTransform& pTransform,
|
||||
@@ -290,6 +293,10 @@ class G4VSolid
|
||||
// Accuracy is limited by the second argument or the statistics
|
||||
// expressed by the first argument.
|
||||
|
||||
protected:
|
||||
|
||||
G4double kCarTolerance; // Cached geometrical tolerance
|
||||
|
||||
private:
|
||||
|
||||
void ClipPolygonToSimpleLimits(G4ThreeVectorList& pPolygon,
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VSolid.icc,v 1.8 2006/06/29 18:33:00 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4VSolid.icc,v 1.9 2007/05/11 13:30:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// G4VSolid Inline implementation
|
||||
@@ -55,3 +55,9 @@ void G4VSolid::SetName(const G4String& name)
|
||||
{
|
||||
fshapeName=name;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4VSolid::GetTolerance() const
|
||||
{
|
||||
return kCarTolerance;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VStoreNotifier.hh,v 1.3 2006/06/29 18:33:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VStoreNotifier
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VTouchable.hh,v 1.9 2006/06/29 18:33:05 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VTouchable
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VTouchable.icc,v 1.9 2006/06/29 18:33:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VTouchable Inline implementation
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VUserRegionInformation.hh,v 1.4 2006/06/29 18:33:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VVolumeMaterialScanner.hh,v 1.4 2006/06/29 18:33:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VVolumeMaterialScanner
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VoxelLimits.hh,v 1.9 2006/06/29 18:33:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VoxelLimits
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VoxelLimits.icc,v 1.4 2006/06/29 18:33:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// G4VoxelLimits Inline implementation
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: meshdefs.hh,v 1.7 2006/06/29 18:33:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// Tube/Cone Meshing constants for extent calculations
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: voxeldefs.hh,v 1.7 2006/06/29 18:33:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4BlockingList.cc,v 1.3 2006/06/29 18:33:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4BlockingList Implementation
|
||||
|
||||
@@ -0,0 +1,226 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorCylSurfaceTarget.cc,v 1.4 2007/06/20 12:50:48 arce Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "G4ErrorCylSurfaceTarget.hh"
|
||||
#include "G4GeometryTolerance.hh"
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
#include "G4ErrorPropagatorData.hh" //for verbosity checking
|
||||
#endif
|
||||
|
||||
#include "geomdefs.hh"
|
||||
#include "G4Plane3D.hh"
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ErrorCylSurfaceTarget::
|
||||
G4ErrorCylSurfaceTarget( const G4double& radius,
|
||||
const G4ThreeVector& trans,
|
||||
const G4RotationMatrix& rotm )
|
||||
: fradius(radius)
|
||||
{
|
||||
theType = G4ErrorTarget_CylindricalSurface;
|
||||
|
||||
ftransform = G4AffineTransform( rotm.inverse(), -trans );
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 2 ) {
|
||||
Dump( " $$$ creating G4ErrorCylSurfaceTarget ");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ErrorCylSurfaceTarget::
|
||||
G4ErrorCylSurfaceTarget( const G4double& radius,
|
||||
const G4AffineTransform& trans )
|
||||
: fradius(radius), ftransform(trans.Inverse())
|
||||
{
|
||||
theType = G4ErrorTarget_CylindricalSurface;
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 2 )
|
||||
{
|
||||
Dump( " $$$ creating G4ErrorCylSurfaceTarget ");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ErrorCylSurfaceTarget::~G4ErrorCylSurfaceTarget()
|
||||
{
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4double G4ErrorCylSurfaceTarget::
|
||||
GetDistanceFromPoint( const G4ThreeVector& point,
|
||||
const G4ThreeVector& dir ) const
|
||||
{
|
||||
if( dir.mag() == 0. )
|
||||
{
|
||||
G4Exception("G4ErrorCylSurfaceTarget::GetDistanceFromPoint()",
|
||||
"InvalidSetup", FatalException, "Direction is zero !");
|
||||
}
|
||||
|
||||
//----- Get intersection point
|
||||
G4ThreeVector localPoint = ftransform.TransformPoint( point );
|
||||
G4ThreeVector localDir = ftransform.TransformAxis( dir );
|
||||
G4ThreeVector inters = IntersectLocal(localPoint, localDir);
|
||||
|
||||
G4double dist = (localPoint-inters).mag();
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 3 )
|
||||
{
|
||||
G4cout << " G4ErrorCylSurfaceTarget::GetDistanceFromPoint():" << G4endl
|
||||
<< " Global point " << point << " dir " << dir << G4endl
|
||||
<< " Intersection " << inters << G4endl
|
||||
<< " Distance " << dist << G4endl;
|
||||
Dump( " CylSurface: " );
|
||||
}
|
||||
#endif
|
||||
|
||||
return dist;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4double G4ErrorCylSurfaceTarget::
|
||||
GetDistanceFromPoint( const G4ThreeVector& point ) const
|
||||
{
|
||||
G4ThreeVector localPoint = ftransform.TransformPoint( point );
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 3 )
|
||||
{
|
||||
G4cout << " G4ErrorCylSurfaceTarget::GetDistanceFromPoint:" << G4endl
|
||||
<< " Global point " << point << G4endl
|
||||
<< " Distance " << fradius - localPoint.perp() << G4endl;
|
||||
Dump( " CylSurface: " );
|
||||
}
|
||||
#endif
|
||||
|
||||
return fradius - localPoint.perp();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ThreeVector G4ErrorCylSurfaceTarget::
|
||||
IntersectLocal( const G4ThreeVector& localPoint,
|
||||
const G4ThreeVector& localDir ) const
|
||||
{
|
||||
G4double eqa = localDir.x()*localDir.x()+localDir.y()*localDir.y();
|
||||
G4double eqb = 2*(localPoint.x()*localDir.x()+localPoint.y()*localDir.y());
|
||||
G4double eqc = -fradius*fradius+localPoint.x()*localPoint.x()
|
||||
+localPoint.y()*localPoint.y();
|
||||
G4int inside = (localPoint.perp() > fradius) ? -1 : 1;
|
||||
G4double lambda;
|
||||
|
||||
if( eqa*inside > 0. )
|
||||
{
|
||||
lambda = (-eqb + std::sqrt(eqb*eqb-4*eqa*eqc) ) / (2.*eqa);
|
||||
}
|
||||
else if( eqa*inside < 0. )
|
||||
{
|
||||
lambda = (-eqb - std::sqrt(eqb*eqb-4*eqa*eqc) ) / (2.*eqa);
|
||||
}
|
||||
else
|
||||
{
|
||||
if( eqb != 0. )
|
||||
{
|
||||
lambda = -eqc/eqb;
|
||||
}
|
||||
else
|
||||
{
|
||||
G4cerr << "WARNING - G4ErrorCylSurfaceTarget::IntersectLocal()" << G4endl
|
||||
<< " Point: " << localPoint << ", direction: "
|
||||
<< localDir << G4endl;
|
||||
Dump( " CylSurface: " );
|
||||
G4Exception("G4ErrorCylSurfaceTarget::IntersectLocal()",
|
||||
"IllegalCondition",
|
||||
JustWarning, "Intersection not possible !");
|
||||
lambda = kInfinity;
|
||||
}
|
||||
}
|
||||
|
||||
G4ThreeVector inters = localPoint + lambda*localDir/localDir.mag();
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 4 ) {
|
||||
G4cout << " G4ErrorCylSurfaceTarget::IntersectLocal " << inters << " " << inters.perp() << " localPoint " << localPoint << " localDir " << localDir << G4endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
return inters;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4Plane3D G4ErrorCylSurfaceTarget::
|
||||
GetTangentPlane( const G4ThreeVector& point ) const
|
||||
{
|
||||
G4ThreeVector localPoint = ftransform.TransformPoint( point );
|
||||
|
||||
// check that point is at cylinder surface
|
||||
//
|
||||
if( std::fabs( localPoint.perp() - fradius )
|
||||
> 1000.*G4GeometryTolerance::GetInstance()->GetSurfaceTolerance() )
|
||||
{
|
||||
G4cerr << "WARNING - G4ErrorCylSurfaceTarget::GetTangentPlane()" << G4endl
|
||||
<< " Point: " << point << ", local: " << localPoint
|
||||
<< G4endl
|
||||
<< " is not at surface, but far away by: "
|
||||
<< localPoint.perp() - fradius << " !" << G4endl;
|
||||
G4Exception("G4ErrorCylSurfaceTarget::GetTangentPlane()",
|
||||
"IllegalCondition", JustWarning,
|
||||
"Local point not at surface !");
|
||||
}
|
||||
|
||||
G4Normal3D normal = localPoint - ftransform.NetTranslation();
|
||||
|
||||
return G4Plane3D( normal, point );
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
void G4ErrorCylSurfaceTarget::Dump( const G4String& msg ) const
|
||||
{
|
||||
G4cout << msg << " radius " << fradius
|
||||
<< " centre " << ftransform.NetTranslation()
|
||||
<< " rotation " << ftransform.NetRotation() << G4endl;
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorPlaneSurfaceTarget.cc,v 1.2 2007/06/19 11:28:39 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "G4ErrorPlaneSurfaceTarget.hh"
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
#include "G4ErrorPropagatorData.hh" //for verbosity checking
|
||||
#endif
|
||||
|
||||
#include "G4Point3D.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ErrorPlaneSurfaceTarget::
|
||||
G4ErrorPlaneSurfaceTarget(G4double a, G4double b, G4double c, G4double d)
|
||||
: G4Plane3D( a, b, c, d )
|
||||
{
|
||||
theType = G4ErrorTarget_PlaneSurface;
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 2 )
|
||||
{
|
||||
Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from parameters");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ErrorPlaneSurfaceTarget::
|
||||
G4ErrorPlaneSurfaceTarget(const G4Normal3D &n, const G4Point3D &p)
|
||||
: G4Plane3D( n, p )
|
||||
{
|
||||
theType = G4ErrorTarget_PlaneSurface;
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 2 )
|
||||
{
|
||||
Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from point and normal");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ErrorPlaneSurfaceTarget::
|
||||
G4ErrorPlaneSurfaceTarget(const G4Point3D &p1,
|
||||
const G4Point3D &p2,
|
||||
const G4Point3D &p3)
|
||||
: G4Plane3D( p1, p2, p3 )
|
||||
{
|
||||
theType = G4ErrorTarget_PlaneSurface;
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 2 )
|
||||
{
|
||||
Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from three points");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ErrorPlaneSurfaceTarget::~G4ErrorPlaneSurfaceTarget()
|
||||
{
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4ThreeVector G4ErrorPlaneSurfaceTarget::
|
||||
Intersect( const G4ThreeVector& pt, const G4ThreeVector& dir ) const
|
||||
{
|
||||
G4double lam = GetDistanceFromPoint( pt, dir );
|
||||
G4Point3D inters = pt + lam * dir;
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 4 )
|
||||
{
|
||||
G4cerr << " $$$ creating G4ErrorPlaneSurfaceTarget::Intersect "
|
||||
<< inters << G4endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
return inters;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4double G4ErrorPlaneSurfaceTarget::
|
||||
GetDistanceFromPoint( const G4ThreeVector& pt, const G4ThreeVector& dir ) const
|
||||
{
|
||||
if( std::fabs( dir.mag() -1. ) > 1.E-6 )
|
||||
{
|
||||
G4cerr << "WARNING - G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()"
|
||||
<< G4endl
|
||||
<< " Direction is not a unit vector: " << dir << " !"
|
||||
<< G4endl;
|
||||
}
|
||||
G4double dist = -(a_ * pt.x() + b_ * pt.y() + c_ * pt.z() + d_)
|
||||
/ (a_ * dir.x() + b_ * dir.y() + c_ * dir.z() );
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 3 )
|
||||
{
|
||||
G4cout << " G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" << G4endl
|
||||
<< " Point: " << pt << ", Direction: " << dir << G4endl
|
||||
<< " Distance: " << dist << G4endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
return dist;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4double G4ErrorPlaneSurfaceTarget::
|
||||
GetDistanceFromPoint( const G4ThreeVector& pt ) const
|
||||
{
|
||||
G4ThreeVector vec = point() - pt;
|
||||
G4double alpha = std::acos( vec * normal() / vec.mag() / normal().mag() );
|
||||
G4double dist = std::fabs(vec.mag() * std::cos( alpha ));
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if(G4ErrorPropagatorData::verbose() >= 3 )
|
||||
{
|
||||
G4cout << " G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" << G4endl
|
||||
<< " Point: " << pt << G4endl
|
||||
<< " Distance: " << dist << G4endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
return dist;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
G4Plane3D G4ErrorPlaneSurfaceTarget::
|
||||
GetTangentPlane( const G4ThreeVector& ) const
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
void G4ErrorPlaneSurfaceTarget::Dump( const G4String& msg ) const
|
||||
{
|
||||
G4cout << msg << " point = " << point()
|
||||
<< " normal = " << normal() << G4endl;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorSurfaceTarget.cc,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "G4ErrorSurfaceTarget.hh"
|
||||
|
||||
G4ErrorSurfaceTarget::G4ErrorSurfaceTarget(){}
|
||||
G4ErrorSurfaceTarget::~G4ErrorSurfaceTarget(){}
|
||||
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorTanPlaneTarget.cc,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "G4ErrorTanPlaneTarget.hh"
|
||||
|
||||
G4ErrorTanPlaneTarget::G4ErrorTanPlaneTarget(){}
|
||||
G4ErrorTanPlaneTarget::~G4ErrorTanPlaneTarget(){}
|
||||
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4ErrorTarget.cc,v 1.1 2007/05/16 12:50:52 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "G4ErrorTarget.hh"
|
||||
|
||||
G4ErrorTarget::G4ErrorTarget(){}
|
||||
G4ErrorTarget::~G4ErrorTarget(){}
|
||||
|
||||
G4double G4ErrorTarget::GetDistanceFromPoint( const G4ThreeVector&,
|
||||
const G4ThreeVector& ) const
|
||||
{
|
||||
return DBL_MAX;
|
||||
}
|
||||
|
||||
G4double G4ErrorTarget::GetDistanceFromPoint( const G4ThreeVector& ) const
|
||||
{
|
||||
return DBL_MAX;
|
||||
}
|
||||
|
||||
G4bool G4ErrorTarget::TargetReached(const G4Step*)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GeometryManager.cc,v 1.18 2006/06/29 18:33:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4GeometryManager.cc,v 1.19 2007/05/11 13:30:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4GeometryManager
|
||||
//
|
||||
@@ -50,6 +50,12 @@
|
||||
#include "G4SmartVoxelHeader.hh"
|
||||
#include "voxeldefs.hh"
|
||||
|
||||
// Needed for setting the extent for tolerance value
|
||||
//
|
||||
#include "G4GeometryTolerance.hh"
|
||||
#include "G4SolidStore.hh"
|
||||
#include "G4VSolid.hh"
|
||||
|
||||
// ***************************************************************************
|
||||
// Static class variable: ptr to single instance of class
|
||||
// ***************************************************************************
|
||||
@@ -61,8 +67,8 @@ G4GeometryManager* G4GeometryManager::fgInstance = 0;
|
||||
// ***************************************************************************
|
||||
//
|
||||
G4GeometryManager::G4GeometryManager()
|
||||
: fIsClosed(false)
|
||||
{
|
||||
fIsClosed=false;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
@@ -261,7 +267,10 @@ void G4GeometryManager::BuildOptimisations(G4bool allOpts,
|
||||
// Scan recursively the associated logical volume tree
|
||||
//
|
||||
tVolume = pVolume->GetLogicalVolume();
|
||||
if (tVolume->GetNoDaughters()) { BuildOptimisations(allOpts, tVolume->GetDaughter(0)); }
|
||||
if (tVolume->GetNoDaughters())
|
||||
{
|
||||
BuildOptimisations(allOpts, tVolume->GetDaughter(0));
|
||||
}
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
@@ -301,7 +310,29 @@ void G4GeometryManager::DeleteOptimisations(G4VPhysicalVolume* pVolume)
|
||||
// Scan recursively the associated logical volume tree
|
||||
//
|
||||
tVolume = pVolume->GetLogicalVolume();
|
||||
if (tVolume->GetNoDaughters()) { DeleteOptimisations(tVolume->GetDaughter(0)); }
|
||||
if (tVolume->GetNoDaughters())
|
||||
{
|
||||
DeleteOptimisations(tVolume->GetDaughter(0));
|
||||
}
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
// Sets the maximum extent of the world volume. The operation is allowed only
|
||||
// if NO solids have been created already.
|
||||
// ***************************************************************************
|
||||
//
|
||||
void G4GeometryManager::SetWorldMaximumExtent(G4double extent)
|
||||
{
|
||||
if (G4SolidStore::GetInstance()->size())
|
||||
{
|
||||
// Sanity check to assure that extent is fixed BEFORE creating
|
||||
// any geometry object (solids in this case)
|
||||
//
|
||||
G4Exception("G4GeometryManager::SetMaximumExtent()",
|
||||
"NotApplicable", FatalException,
|
||||
"Extent can be set only BEFORE creating any geometry object!");
|
||||
}
|
||||
G4GeometryTolerance::GetInstance()->SetSurfaceTolerance(extent);
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4IdentityTrajectoryFilter.cc,v 1.4 2006/10/02 10:09:24 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalVolume.cc,v 1.32 2006/11/30 10:39:28 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4LogicalVolume Implementation
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogicalVolumeStore.cc,v 1.18 2007/04/10 10:13:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// G4LogicalVolumeStore
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PhysicalVolumeStore.cc,v 1.19 2007/04/10 10:13:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// G4PhysicalVolumeStore
|
||||
//
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
//
|
||||
// $Id: G4ReflectedSolid.cc,v 1.11 2006/11/08 09:56:33 gcosmo Exp $
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// Implementation for G4ReflectedSolid class for boolean
|
||||
// operations between other solids
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Region.cc,v 1.22 2007/03/20 22:29:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// $Id: G4Region.cc,v 1.23 2007/04/26 21:20:53 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4Region Implementation
|
||||
@@ -47,7 +47,7 @@
|
||||
//
|
||||
G4Region::G4Region(const G4String& pName)
|
||||
: fName(pName), fRegionMod(true), fCut(0), fUserInfo(0), fUserLimits(0),
|
||||
fFastSimulationManager(0), fWorldPhys(0)
|
||||
fFastSimulationManager(0), fWorldPhys(0), fRegionalSteppingAction(0)
|
||||
{
|
||||
G4RegionStore* rStore = G4RegionStore::GetInstance();
|
||||
if (rStore->GetRegion(pName,false))
|
||||
@@ -71,7 +71,7 @@ G4Region::G4Region(const G4String& pName)
|
||||
//
|
||||
G4Region::G4Region( __void__& )
|
||||
: fName(""), fRegionMod(true), fCut(0), fUserInfo(0), fUserLimits(0),
|
||||
fFastSimulationManager(0), fWorldPhys(0)
|
||||
fFastSimulationManager(0), fWorldPhys(0), fRegionalSteppingAction(0)
|
||||
{
|
||||
// Register to store
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RegionStore.cc,v 1.13 2007/04/10 10:13:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// G4RegionStore
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelHeader.cc,v 1.28 2006/06/29 18:33:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4SmartVoxelHeader
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelNode.cc,v 1.6 2006/06/29 18:33:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// Class G4SmartVoxelNode
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelProxy.cc,v 1.3 2006/06/29 18:33:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// Class G4SmartVoxelProxy
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SmartVoxelStat.cc,v 1.3 2006/06/29 18:33:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class source file
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SolidStore.cc,v 1.17 2007/04/10 10:13:50 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// G4SolidStore
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VCurvedTrajectoryFilter.cc,v 1.3 2006/06/29 18:33:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#include "G4VCurvedTrajectoryFilter.hh"
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VNestedParameterisation.cc,v 1.6 2006/06/29 18:33:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VNestedParameterisation implementation
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPVDivisionFactory.cc,v 1.2 2006/06/29 18:34:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VPVDivisionFactory Implementation file
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPVParameterisation.cc,v 1.7 2006/06/29 18:34:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// Default implementations for Parameterisations that do not
|
||||
// parameterise solid and/or material.
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VPhysicalVolume.cc,v 1.14 2007/04/11 08:00:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// class G4VPhysicalVolume Implementation
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VSolid.cc,v 1.33 2006/10/23 08:33:40 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4VSolid.cc,v 1.34 2007/05/11 13:30:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VSolid
|
||||
//
|
||||
@@ -46,6 +46,7 @@
|
||||
#include "G4SolidStore.hh"
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4GeometryTolerance.hh"
|
||||
|
||||
#include "G4VoxelLimits.hh"
|
||||
#include "G4AffineTransform.hh"
|
||||
@@ -60,6 +61,8 @@
|
||||
G4VSolid::G4VSolid(const G4String& name)
|
||||
: fshapeName(name)
|
||||
{
|
||||
kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance();
|
||||
|
||||
// Register to store
|
||||
//
|
||||
G4SolidStore::GetInstance()->Register(this);
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VoxelLimits.cc,v 1.11 2006/06/29 18:34:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// class G4VoxelLimits
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user