72 , fDirection(direction)
85 assert(
dynamic_cast<G4Tubs*
>(solid));
87 auto tubsSolid =
static_cast<G4Tubs*
>(solid);
93 if(fDirection ==
fFlux_InOut || dirFlag == fDirection)
117 (localdir.
x() * localpos.
x() + localdir.
y() * localpos.
y()) /
118 std::sqrt(localdir.
x() * localdir.
x() + localdir.
y() * localdir.
y() +
119 localdir.
z() * localdir.
z()) /
120 std::sqrt(localpos.
x() * localpos.
x() + localpos.
y() * localpos.
y());
124 G4double square = 2. * tubsSolid->GetZHalfLength() *
125 tubsSolid->GetInnerRadius() *
126 tubsSolid->GetDeltaPhiAngle() / radian;
133 flux = flux / angleFactor;
138 EvtMap->
add(index, flux);
143 if(filler ==
nullptr)
145 G4Exception(
"G4PSCylinderSurfaceFlux::ProcessHits",
"SCORER0123",
147 "G4TScoreHistFiller is not instantiated!! Histogram is "
185 localpos1.
x() * localpos1.
x() + localpos1.
y() * localpos1.
y();
208 localpos2.
x() * localpos2.
x() + localpos2.
y() * localpos2.
y();
238 for(
const auto& [copy, flux] : *(EvtMap->
GetMap()))
240 G4cout <<
" copy no.: " << copy
261 G4String msg =
"Invalid unit [" + unit +
"] (Current unit is [" +
const G4double kCarTolerance
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4GLOB_DLL std::ostream G4cout
G4double GetSurfaceTolerance() const
static G4GeometryTolerance * GetInstance()
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
const G4AffineTransform & GetTopTransform() const
void Initialize(G4HCofThisEvent *) override
G4PSCylinderSurfaceFlux(G4String name, G4int direction, G4int depth=0)
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override
virtual void SetUnit(const G4String &unit)
virtual void DefineUnitAndCategory()
G4int IsSelectedSurface(G4Step *, G4Tubs *)
G4StepStatus GetStepStatus() const
const G4ThreeVector & GetPosition() const
const G4ThreeVector & GetMomentumDirection() const
const G4TouchableHandle & GetTouchableHandle() const
G4double GetKineticEnergy() const
G4double GetWeight() const
G4StepPoint * GetPreStepPoint() const
G4StepPoint * GetPostStepPoint() const
G4double GetZHalfLength() const
G4double GetInnerRadius() const
std::map< G4int, G4int > hitIDMap
virtual G4int GetIndex(G4Step *)
G4MultiFunctionalDetector * GetMultiFunctionalDetector() const
const G4String & GetUnit() const
G4MultiFunctionalDetector * detector
G4int GetCollectionID(G4int)
void CheckAndSetUnit(const G4String &unit, const G4String &category)
G4double GetUnitValue() const
G4VSolid * ComputeCurrentSolid(G4Step *aStep)
static G4VScoreHistFiller * Instance()
size_t add(const G4int &key, U *&aHit) const
virtual const G4NavigationHistory * GetHistory() const