137 TransformPoint(showerCenter);
143 yShower = zShower.
cross(xShower);
148 G4double deposit = Energy/double(nSpot);
157 for (
int i = 0; i < nSpot; i++)
162 ePoint = showerCenter +
164 r*std::cos(phi)*xShower + r*std::sin(phi)*yShower;
175 for (
size_t i = 0; i <
feSpotList.size(); i++)
206 if( pCurrentVolume != 0 )
209 GetSensitiveDetector();
210 if( pSensitive != 0 )
228 GetNavigatorForTracking()->GetWorldVolume());
230 LocateGlobalPointAndUpdateTouchableHandle(eSpot.
GetPosition(),
239 LocateGlobalPointAndUpdateTouchableHandle(eSpot.
GetPosition(),
void ProposePrimaryTrackPathLength(G4double)
G4double GetKineticEnergy() const
G4bool Hit(G4Step *aStep)
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector GetPosition() const
G4LogicalVolume * GetLogicalVolume() const
G4VSolid * GetEnvelopeSolid() const
G4StepPoint * GetPreStepPoint() const
Definition of the Par01EnergySpot class.
void SetTotalEnergyDeposit(G4double value)
void SetEnergy(const G4double &E)
const G4Track * GetPrimaryTrack() const
virtual G4bool IsApplicable(const G4ParticleDefinition &)
G4VPhysicalVolume * GetPhysicalVolume() const
G4Navigator * fpNavigator
static G4PionPlus * PionPlusDefinition()
G4ThreeVector GetPrimaryTrackLocalPosition() const
std::vector< Par01EnergySpot > feSpotList
G4TouchableHandle fTouchableHandle
G4ThreeVector GetPrimaryTrackLocalDirection() const
void AssignSpotAndCallHit(const Par01EnergySpot &eSpot)
static constexpr double twopi
G4StepPoint * fFakePostStepPoint
Par01PionShowerModel(G4String, G4Region *)
G4StepPoint * GetPostStepPoint() const
static G4PionMinus * PionMinusDefinition()
Definition of the Par01PionShowerModel class.
ThreeVector shoot(const G4int Ap, const G4int Af)
Hep3Vector cross(const Hep3Vector &) const
G4double GetEnergy() const
static G4TransportationManager * GetTransportationManager()
void BuildDetectorResponse()
G4StepPoint * fFakePreStepPoint
virtual G4bool ModelTrigger(const G4FastTrack &)
const G4AffineTransform * GetInverseAffineTransformation() const
void FillFakeStep(const Par01EnergySpot &eSpot)
static constexpr double cm
Hep3Vector orthogonal() const
void SetTouchableHandle(const G4TouchableHandle &apValue)
const G4ThreeVector & GetMomentumDirection() const
void ProposeTotalEnergyDeposited(G4double anEnergyPart)
virtual void DoIt(const G4FastTrack &, G4FastStep &)
void Explode(const G4FastTrack &)
void SetPosition(const G4ThreeVector &point)