Import Geant4 0.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-01 15:25:35 +02:00
parent 54d6b71f95
commit b97f8d0df7
3237 changed files with 807095 additions and 0 deletions
@@ -0,0 +1,109 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4RaySteppingAction.cc,v 2.1 1998/07/13 17:11:12 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// 16/Apr/1997 J. Allison: For visualization/test/test19.
#include "G4RaySteppingAction.hh"
#include "G4SteppingManager.hh"
#include "G4ParticleDefinition.hh"
#include "G4VVisManager.hh"
#include "G4VisAttributes.hh"
#include "G4Colour.hh"
#include "G4Polyline.hh"
#include "G4Point3D.hh"
#include "G4Vector3D.hh"
G4RaySteppingAction::G4RaySteppingAction() : weHaveContact(false), pVisAttribs(0){}
void G4RaySteppingAction::UserSteppingAction() {
G4Step* piStep = GetSteppingManager () -> GetStep ();
// G4cout <<"G4Step* piStep: "<< (void *) piStep << endl;
G4Track* pTrack = piStep -> GetTrack();
//G4cout << "G4Track* pTrack: "<<(void *) pTrack << endl;
pVPV = pTrack -> GetNextVolume();
//G4cout << "G4VPhysicalVolume* pVPV: "<<(void *) pVPV << endl;
if (pVPV) {
weHaveContact = true;
pLV = pVPV -> GetLogicalVolume();
//G4cout <<"G4LogicalVolume* pLV: "<< (void *) pLV << endl;
pSol = pLV -> GetSolid();
//G4cout <<"G4VSolid* pSol: "<< (void *) pSol << endl;
G4Point3D point = piStep -> GetPostStepPoint () -> GetPosition ();
//G4cout << "Point: " << point << endl;
G4Vector3D translation = pVPV -> GetTranslation();
G4RotationMatrix* rotation = pVPV -> GetRotation();
if (rotation) {
point.transform(G4Transform3D(*rotation, -translation));
}
else {
point.transform(G4Translate3D(-translation));
}
//G4cout << "Point after transformation: " << point << endl;
normal = pSol -> SurfaceNormal(point);
//G4cout << "normal: " << normal << endl;
pVisAttribs = pLV -> GetVisAttributes ();
//G4cout << "Vis attributes: " << *pVisAttribs << endl;
}
else {
weHaveContact = false;
}
pTrack -> SetTrackStatus(fStopAndKill);
}