61 weighted(true),divideByArea(true)
72 weighted(true),divideByArea(true)
105 if (fDirection ==
fFlux_InOut || dirFlag == fDirection ){
123 G4double angleFactor = (localdir.
x()*localpos.
x()+localdir.
y()*localpos.
y())
124 /std::sqrt(localdir.
x()*localdir.
x()
125 +localdir.
y()*localdir.
y()+localdir.
z()*localdir.
z())
126 /std::sqrt(localpos.
x()*localpos.
x()+localpos.
y()*localpos.
y());
128 if ( angleFactor < 0 ) angleFactor *= -1.;
133 if ( weighted ) flux *=preStep->
GetWeight();
136 flux = flux/angleFactor;
137 if ( divideByArea ) flux /= square;
140 EvtMap->
add(index,flux);
161 if ( std::fabs(localpos1.
z()) > tubsSolid->
GetZHalfLength() )
return -1;
165 G4double localR2 = localpos1.
x()*localpos1.
x()+localpos1.
y()*localpos1.
y();
167 if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance)
168 &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){
178 if ( std::fabs(localpos2.
z()) > tubsSolid->
GetZHalfLength() )
return -1;
182 G4double localR2 = localpos2.
x()*localpos2.
x()+localpos2.
y()*localpos2.
y();
184 if (localR2 > (InsideRadius-kCarTolerance)*(InsideRadius-kCarTolerance)
185 &&localR2 < (InsideRadius+kCarTolerance)*(InsideRadius+kCarTolerance)){
216 std::map<G4int,G4double*>::iterator itr = EvtMap->
GetMap()->begin();
217 for(; itr != EvtMap->
GetMap()->end(); itr++) {
218 G4cout <<
" copy no.: " << itr->first
227 if ( divideByArea ) {
G4double GetWeight() const
virtual void EndOfEvent(G4HCofThisEvent *)
static constexpr double cm2
virtual void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
G4StepStatus GetStepStatus() const
G4double GetSurfaceTolerance() const
G4MultiFunctionalDetector * GetMultiFunctionalDetector() const
G4VSolid * GetSolid() const
virtual const G4NavigationHistory * GetHistory() const
const G4VTouchable * GetTouchable() const
void CheckAndSetUnit(const G4String &unit, const G4String &category)
static constexpr double mm2
G4StepPoint * GetPreStepPoint() const
const G4ThreeVector & GetMomentumDirection() const
G4GLOB_DLL std::ostream G4cout
G4double GetDeltaPhiAngle() const
G4VPhysicalVolume * GetPhysicalVolume() const
const G4ThreeVector & GetPosition() const
G4double GetUnitValue() const
virtual G4VPVParameterisation * GetParameterisation() const =0
virtual G4int GetIndex(G4Step *)
const G4double kCarTolerance
virtual void Initialize(G4HCofThisEvent *)
G4int GetCollectionID(G4int)
G4double GetInnerRadius() const
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
static constexpr double radian
G4int add(const G4int &key, T *&aHit) const
G4LogicalVolume * GetLogicalVolume() const
virtual void SetUnit(const G4String &unit)
G4StepPoint * GetPostStepPoint() const
G4double GetZHalfLength() const
G4PSCylinderSurfaceFlux(G4String name, G4int direction, G4int depth=0)
std::map< G4int, T * > * GetMap() const
G4MultiFunctionalDetector * detector
const G4AffineTransform & GetTopTransform() const
G4int IsSelectedSurface(G4Step *, G4Tubs *)
const G4String & GetUnit() const
virtual void DefineUnitAndCategory()
static constexpr double m2
virtual ~G4PSCylinderSurfaceFlux()
const G4TouchableHandle & GetTouchableHandle() const
static G4GeometryTolerance * GetInstance()
virtual G4bool ProcessHits(G4Step *, G4TouchableHistory *)