55 theUserEventAction = 0;
56 theUserStackingAction = 0;
57 theUserTrackingAction = 0;
58 theUserSteppingAction = 0;
60 theMatScannerEventAction = 0;
61 theMatScannerStackingAction = 0;
62 theMatScannerTrackingAction = 0;
63 theMatScannerSteppingAction = 0;
68 thetaSpan = 90. * deg;
73 regionSensitive =
false;
74 regionName =
"notDefined";
81 delete theMatScannerSteppingAction;
91 G4cerr <<
"Illegal application state - Scan() ignored." <<
G4endl;
95 if(!theMatScannerSteppingAction)
101 RestoreUserActions();
104void G4MaterialScanner::StoreUserActions()
127void G4MaterialScanner::RestoreUserActions()
141void G4MaterialScanner::DoScan()
169 for(
G4int iTheta = 0; iTheta < nTheta; iTheta++)
179 <<
" Theta(deg) Phi(deg) Length(mm) x0 lambda0"
182 for(
G4int iPhi = 0; iPhi < nPhi; iPhi++)
190 std::cos(theta) * std::sin(phi), std::sin(theta));
191 theRayShooter->
Shoot(anEvent, eyePosition, eyeDirection);
192 theMatScannerSteppingAction->
Initialize(regionSensitive, theRegion);
198 G4cout <<
" " << std::setw(11) << theta / deg <<
" "
199 << std::setw(11) << phi / deg <<
" " << std::setw(11)
200 << length / mm <<
" " << std::setw(11) << x0 <<
" "
202 aveLength += length / mm;
209 G4cout <<
" ave. for theta = " << std::setw(11) << theta / deg <<
" : "
210 << std::setw(11) << aveLength / nPhi <<
" " << std::setw(11)
211 << aveX0 / nPhi <<
" " << std::setw(11) << aveLambda / nPhi
231 G4cerr <<
"Region <" << val <<
"> not found. Command ignored." <<
G4endl;
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cerr
G4GLOB_DLL std::ostream G4cout
G4UserTrackingAction * GetUserTrackingAction()
void SetUserAction(G4UserEventAction *userAction)
G4UserSteppingAction * GetUserSteppingAction()
G4UserStackingAction * GetUserStackingAction()
G4UserEventAction * GetUserEventAction()
static G4EventManager * GetEventManager()
void ProcessOneEvent(G4Event *anEvent)
static G4GeometryManager * GetInstance()
G4bool CloseGeometry(G4bool pOptimise=true, G4bool verbose=false, G4VPhysicalVolume *vol=nullptr)
void OpenGeometry(G4VPhysicalVolume *vol=nullptr)
G4double GetLambda0() const
G4double GetTotalStepLength() const
void Initialize(G4bool rSens, G4Region *reg)
G4bool SetRegionName(const G4String &val)
virtual G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=nullptr, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
void Shoot(G4Event *evt, G4ThreeVector vtx, G4ThreeVector direc)
static G4RegionStore * GetInstance()
G4Region * GetRegion(const G4String &name, G4bool verbose=true) const
static G4RunManagerKernel * GetRunManagerKernel()
void Activate(G4String dName, G4bool activeFlag)
static G4SDManager * GetSDMpointerIfExist()
const G4ApplicationState & GetCurrentState() const
static G4StateManager * GetStateManager()
G4bool SetNewState(const G4ApplicationState &requestedState)
static G4TransportationManager * GetTransportationManager()
G4Navigator * GetNavigatorForTracking() const