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 ) {
242 new G4UnitDefinition(
"percentimeter2",
"percm2",
"Per Unit Surface",(1./cm2));
243 new G4UnitDefinition(
"permillimeter2",
"permm2",
"Per Unit Surface",(1./mm2));
G4DLLIMPORT std::ostream G4cout
G4double GetSurfaceTolerance() const
static G4GeometryTolerance * GetInstance()
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
G4VSolid * GetSolid() const
const G4AffineTransform & GetTopTransform() const
virtual void EndOfEvent(G4HCofThisEvent *)
virtual void Initialize(G4HCofThisEvent *)
virtual G4bool ProcessHits(G4Step *, G4TouchableHistory *)
G4PSCylinderSurfaceFlux(G4String name, G4int direction, G4int depth=0)
virtual ~G4PSCylinderSurfaceFlux()
virtual void SetUnit(const G4String &unit)
virtual void DefineUnitAndCategory()
G4int IsSelectedSurface(G4Step *, G4Tubs *)
G4StepStatus GetStepStatus() const
const G4VTouchable * GetTouchable() const
const G4ThreeVector & GetPosition() const
const G4ThreeVector & GetMomentumDirection() const
const G4TouchableHandle & GetTouchableHandle() const
G4VPhysicalVolume * GetPhysicalVolume() const
G4double GetWeight() const
G4StepPoint * GetPreStepPoint() const
G4StepPoint * GetPostStepPoint() const
G4int add(const G4int &key, T *&aHit) const
std::map< G4int, T * > * GetMap() const
G4double GetZHalfLength() const
G4double GetInnerRadius() const
G4double GetDeltaPhiAngle() const
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
G4LogicalVolume * GetLogicalVolume() const
virtual G4VPVParameterisation * GetParameterisation() const =0
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
virtual void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
virtual const G4NavigationHistory * GetHistory() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)