35 #include "G4StepPoint.hh" 36 #include "G4TrackStatus.hh" 129 G4String fileIn = randomNumberStatusDir +
"currentEvent.rndm";
131 std::ostringstream os;
136 G4String fileOut = randomNumberStatusDir + subDir + os.str();
138 G4String copCmd =
"/control/shell cp "+fileIn+
" "+fileOut;
148 G4Track* theTrack = theStep->GetTrack();
152 G4StepPoint* thePrePoint = theStep->GetPreStepPoint();
153 G4StepPoint* thePostPoint = theStep->GetPostStepPoint();
162 thePrePVname = thePrePV->
GetName();
163 thePostPVname = thePostPV->
GetName();
167 if (theTrack->GetParentID()==0) {
169 if ( theTrack->GetCurrentStepNumber() == 1 ) {
186 G4int MAXofPostStepLoops =
191 for (
G4int i=0; i<MAXofPostStepLoops; i++) {
192 G4VProcess* fCurrentProcess = (*fPostStepDoItVector)[i];
205 G4double px = theTrack->GetVertexMomentumDirection().x();
206 G4double py = theTrack->GetVertexMomentumDirection().y();
207 G4double x = theTrack->GetPosition().x();
208 G4double y = theTrack->GetPosition().y();
213 fInitGamma / std::sqrt(px*px + py*py) / std::sqrt(x*x + y*y);
236 isFiber = thePostPVname ==
"WLSFiber" 237 || thePostPVname ==
"Clad1" 238 || thePostPVname ==
"Clad2";
278 theTrack->SetTrackStatus(fStopAndKill);
306 theTrack->SetTrackStatus(fStopAndKill);
322 if ( thePostPVname ==
"Mirror" )
331 if ( thePostPVname ==
"PhotonDet" ) {
346 theTrack->SetTrackStatus(fStopAndKill);
358 if (theTrack->GetTrackStatus() != fAlive &&
const G4String & GetRandomNumberStoreDir() const
G4int GetNumberOfClad2Bounces()
CLHEP::Hep3Vector G4ThreeVector
G4bool ProcessHits_constStep(const G4Step *, G4TouchableHistory *)
void saveRandomStatus(G4String subDir)
G4OpBoundaryProcessStatus
G4ProcessManager * GetProcessManager() const
G4ProcessVector * GetPostStepProcessVector(G4ProcessVectorTypeIndex typ=typeGPIL) const
Definition of the WLSDetectorConstruction class.
static G4UImanager * GetUIpointer()
virtual void UserSteppingAction(const G4Step *)
static G4int fMaxRndmSave
G4GLOB_DLL std::ostream G4cout
G4OpBoundaryProcess * fOpProcess
virtual ~WLSSteppingAction()
const G4Run * GetCurrentRun() const
G4VSensitiveDetector * FindSensitiveDetector(G4String dName, G4bool warning=true)
WLSSteppingAction(WLSDetectorConstruction *)
G4int GetNumberOfClad1Bounces()
const G4Event * GetCurrentEvent() const
static G4RunManager * GetRunManager()
static G4OpticalPhoton * OpticalPhoton()
const G4String & GetName() const
G4int GetNumberOfBounces()
WLSSteppingActionMessenger * fSteppingMessenger
static G4SDManager * GetSDMpointer()
G4int GetNumberOfWLSBounces()
Definition of the WLSPhotonDetSD class.
G4OpBoundaryProcessStatus GetStatus() const
static const G4ThreeVector ZHat
Definition of the WLSSteppingAction class.
void SetBounceLimit(G4int)
Definition of the WLSSteppingActionMessenger class.
G4int ApplyCommand(const char *aCommand)
G4double GetWLSFiberEnd()
G4int fCounterClad2Bounce
G4int fCounterClad1Bounce
G4int ResetSuccessCounter()
WLSDetectorConstruction * fDetector