#include <LowEnergyFastSimModel.h>
Definition at line 13 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 28 of file LowEnergyFastSimModel.cc.
29 fastStep.KillPrimaryTrack();
30 fastStep.SetPrimaryTrackPathLength(0.0);
31 double energy = fastTrack.GetPrimaryTrack()->GetKineticEnergy();
33 const G4ThreeVector&
pos = fastTrack.GetPrimaryTrack()->GetPosition();
38 if (-11 == fastTrack.GetPrimaryTrack()->GetDefinition()->GetPDGEncoding())
41 const G4ThreeVector& momDir = fastTrack.GetPrimaryTrack()->GetMomentumDirection();
42 const G4ThreeVector& ortho = momDir.orthogonal();
43 const G4ThreeVector&
cross = momDir.
cross(ortho);
46 GFlashEnergySpot spot;
47 spot.SetEnergy(inPointEnergy);
48 spot.SetPosition(
pos);
52 G4double etail =
energy - inPointEnergy;
53 const G4int nspots =
int(etail) + 1;
54 const G4double tailEnergy = etail / (G4double)nspots;
55 for (G4int
i = 0;
i < nspots; ++
i) {
59 const G4double
phi = CLHEP::twopi * G4UniformRand();
62 spot.SetEnergy(tailEnergy);
63 spot.SetPosition(tailPos);
References funct::cos(), Basic3DVector< T >::cross(), cross(), HCALHighEnergyHPDFilter_cfi::energy, fHitMaker, LowEnergyFastSimParam::GetInPointEnergyFraction(), LowEnergyFastSimParam::GetRadius(), LowEnergyFastSimParam::GetZ(), mps_fire::i, createfilelist::int, param, phi, CosmicsPD_Skims::radius, funct::sin(), twomass, and z.
◆ IsApplicable()
G4bool LowEnergyFastSimModel::IsApplicable |
( |
const G4ParticleDefinition & |
particle | ) |
|
|
override |
◆ ModelTrigger()
G4bool LowEnergyFastSimModel::ModelTrigger |
( |
const G4FastTrack & |
fastTrack | ) |
|
|
override |
◆ fEmax
const G4double LowEnergyFastSimModel::fEmax |
|
private |
◆ fHitMaker
GFlashHitMaker LowEnergyFastSimModel::fHitMaker |
|
private |
◆ fRegion
const G4Envelope* const LowEnergyFastSimModel::fRegion |
|
private |
◆ param
Basic3DVector cross(const Basic3DVector &v) const
Vector product, or "cross" product, with a vector of same type.