66 , fDirection(direction)
79 assert(
dynamic_cast<G4Sphere*
>(solid) !=
nullptr);
81 auto sphereSolid =
static_cast<G4Sphere*
>(solid);
88 G4double radi = sphereSolid->GetInnerRadius();
89 G4double dph = sphereSolid->GetDeltaPhiAngle() / radian;
90 G4double stth = sphereSolid->GetStartThetaAngle() / radian;
91 G4double enth = stth + sphereSolid->GetDeltaThetaAngle() / radian;
98 radi * radi * dph * (-std::cos(enth) + std::cos(stth));
99 current = current / square;
103 EvtMap->
add(index, current);
124 G4double localR2 = localpos1.
x() * localpos1.
x() +
125 localpos1.
y() * localpos1.
y() +
126 localpos1.
z() * localpos1.
z();
146 G4double localR2 = localpos2.
x() * localpos2.
x() +
147 localpos2.
y() * localpos2.
y() +
148 localpos2.
z() * localpos2.
z();
180 for(
const auto& [copy, current] : *(EvtMap->
GetMap()))
182 G4cout <<
" copy no.: " << copy <<
" current : ";
189 G4cout << *(current) <<
" [tracks]";
210 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
virtual void DefineUnitAndCategory()
virtual void SetUnit(const G4String &unit)
G4PSSphereSurfaceCurrent(G4String name, G4int direction, G4int depth=0)
G4int IsSelectedSurface(G4Step *, G4Sphere *)
void Initialize(G4HCofThisEvent *) override
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override
G4double GetInnerRadius() const
G4StepStatus GetStepStatus() const
const G4ThreeVector & GetPosition() const
const G4TouchableHandle & GetTouchableHandle() const
G4double GetWeight() const
G4StepPoint * GetPreStepPoint() const
G4StepPoint * GetPostStepPoint() const
virtual const G4NavigationHistory * GetHistory() const
virtual G4int GetIndex(G4Step *)
const G4String & GetUnit() const
G4MultiFunctionalDetector * detector
G4int GetCollectionID(G4int)
void CheckAndSetUnit(const G4String &unit, const G4String &category)
G4double GetUnitValue() const
G4VSolid * ComputeCurrentSolid(G4Step *aStep)
size_t add(const G4int &key, U *&aHit) const