#include <LowEnergyFastSimModel.h>
Definition at line 18 of file LowEnergyFastSimModel.h.
◆ LowEnergyFastSimModel()
LowEnergyFastSimModel::LowEnergyFastSimModel |
( |
const G4String & |
name, |
|
|
G4Region * |
region, |
|
|
const edm::ParameterSet & |
parSet |
|
) |
| |
◆ DoIt()
void LowEnergyFastSimModel::DoIt |
( |
const G4FastTrack & |
fastTrack, |
|
|
G4FastStep & |
fastStep |
|
) |
| |
|
override |
Definition at line 74 of file LowEnergyFastSimModel.cc.
References funct::cos(), hcalRecHitTable_cff::energy, fHitMaker, fParam, fPositron, fTailPos, LowEnergyFastSimParam::GetInPointEnergyFraction(), LowEnergyFastSimParam::GetRadius(), LowEnergyFastSimParam::GetZ(), mps_fire::i, phi, alignCSCRings::r, scaleFactor, funct::sin(), HLT_2024v12_cff::track, twomass, and z.
75 fastStep.KillPrimaryTrack();
76 fastStep.ProposePrimaryTrackPathLength(0.0);
77 auto track = fastTrack.GetPrimaryTrack();
80 const G4ThreeVector&
pos =
track->GetPosition();
88 const G4ThreeVector& momDir =
track->GetMomentumDirection();
91 GFlashEnergySpot spot;
92 spot.SetEnergy(inPointEnergy);
93 spot.SetPosition(
pos);
97 double wt2 =
track->GetWeight();
103 const G4double etail =
energy - inPointEnergy;
104 const G4int nspots = etail;
105 const G4double tailEnergy = etail * wt2 / (nspots + 1);
114 for (G4int
i = 0;
i <= nspots; ++
i) {
118 const G4double
phi = CLHEP::twopi * G4UniformRand();
123 spot.SetEnergy(tailEnergy);
const G4ParticleDefinition * fPositron
constexpr G4double twomass
Sin< T >::type sin(const T &t)
LowEnergyFastSimParam fParam
G4double GetInPointEnergyFraction(G4double energy) const
Cos< T >::type cos(const T &t)
constexpr G4double scaleFactor
G4double GetRadius(G4double energy) const
◆ IsApplicable()
G4bool LowEnergyFastSimModel::IsApplicable |
( |
const G4ParticleDefinition & |
particle | ) |
|
|
override |
◆ ModelTrigger()
G4bool LowEnergyFastSimModel::ModelTrigger |
( |
const G4FastTrack & |
fastTrack | ) |
|
|
override |
◆ fCheck
G4bool LowEnergyFastSimModel::fCheck |
|
private |
◆ fEmax
G4double LowEnergyFastSimModel::fEmax |
|
private |
◆ fHitMaker
GFlashHitMaker LowEnergyFastSimModel::fHitMaker |
|
private |
◆ fMaterial
const G4Material* LowEnergyFastSimModel::fMaterial |
|
private |
◆ fParam
◆ fPositron
const G4ParticleDefinition* LowEnergyFastSimModel::fPositron |
|
private |
◆ fRegion
const G4Envelope* LowEnergyFastSimModel::fRegion |
|
private |
◆ fTailPos
G4ThreeVector LowEnergyFastSimModel::fTailPos |
|
private |
◆ fTrackingAction