71 , fDirection(direction)
85 auto tubsSolid =
static_cast<G4Tubs*
>(solid);
101 G4double square = 2. * tubsSolid->GetZHalfLength() *
102 tubsSolid->GetInnerRadius() *
103 tubsSolid->GetDeltaPhiAngle() / radian;
104 current = current / square;
108 EvtMap->
add(index, current);
113 if(filler ==
nullptr)
115 G4Exception(
"G4PSCylinderSurfaceCurrent::ProcessHits",
"SCORER0123",
117 "G4TScoreHistFiller is not instantiated!! Histogram is "
148 localpos1.
x() * localpos1.
x() + localpos1.
y() * localpos1.
y();
168 localpos2.
x() * localpos2.
x() + localpos2.
y() * localpos2.
y();
197 for(
const auto& [copy, current] : *(EvtMap->
GetMap()))
199 G4cout <<
" copy no.: " << copy <<
" current : ";
206 G4cout << *(current) <<
" [tracks]";
227 G4String msg =
"Invalid unit [" + unit +
"] (Current unit is [" +
229 G4Exception(
"G4PSCylinderSurfaceCurrent::SetUnit",
"DetPS0002",
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
G4PSCylinderSurfaceCurrent(G4String name, G4int direction, G4int depth=0)
G4bool ProcessHits(G4Step *, G4TouchableHistory *) override
virtual void SetUnit(const G4String &unit)
G4int IsSelectedSurface(G4Step *, G4Tubs *)
void Initialize(G4HCofThisEvent *) override
virtual void DefineUnitAndCategory()
G4StepStatus GetStepStatus() const
const G4ThreeVector & GetPosition() 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 *)
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