#include <Par01EMShowerModel.hh>
Definition at line 45 of file Par01EMShowerModel.hh.
◆ Par01EMShowerModel() [1/2]
Par01EMShowerModel::Par01EMShowerModel |
( |
G4String |
modelName, |
|
|
G4Region * |
envelope |
|
) |
| |
Definition at line 44 of file Par01EMShowerModel.cc.
G4StepPoint * fFakePostStepPoint
G4Navigator * fpNavigator
G4VFastSimulationModel(const G4String &aName)
G4TouchableHandle fTouchableHandle
G4StepPoint * fFakePreStepPoint
◆ Par01EMShowerModel() [2/2]
Par01EMShowerModel::Par01EMShowerModel |
( |
G4String |
modelName | ) |
|
Definition at line 56 of file Par01EMShowerModel.cc.
G4StepPoint * fFakePostStepPoint
G4Navigator * fpNavigator
G4VFastSimulationModel(const G4String &aName)
G4TouchableHandle fTouchableHandle
G4StepPoint * fFakePreStepPoint
◆ ~Par01EMShowerModel()
Par01EMShowerModel::~Par01EMShowerModel |
( |
| ) |
|
◆ AssignSpotAndCallHit()
void Par01EMShowerModel::AssignSpotAndCallHit |
( |
const Par01EnergySpot & |
eSpot | ) |
|
|
private |
Definition at line 194 of file Par01EMShowerModel.cc.
207 fFakeStep->GetPreStepPoint()->GetPhysicalVolume();
210 if( pCurrentVolume != 0 )
213 GetSensitiveDetector();
214 if( pSensitive != 0 )
void FillFakeStep(const Par01EnergySpot &eSpot)
G4bool Hit(G4Step *aStep)
G4LogicalVolume * GetLogicalVolume() const
◆ BuildDetectorResponse()
void Par01EMShowerModel::BuildDetectorResponse |
( |
| ) |
|
|
private |
Definition at line 178 of file Par01EMShowerModel.cc.
181 for (
size_t i = 0; i <
feSpotList.size(); i++)
void AssignSpotAndCallHit(const Par01EnergySpot &eSpot)
std::vector< Par01EnergySpot > feSpotList
◆ DoIt()
Implements G4VFastSimulationModel.
Definition at line 88 of file Par01EMShowerModel.cc.
void Explode(const G4FastTrack &)
void ProposePrimaryTrackPathLength(G4double)
void ProposeTotalEnergyDeposited(G4double anEnergyPart)
const G4Track * GetPrimaryTrack() const
void BuildDetectorResponse()
◆ Explode()
void Par01EMShowerModel::Explode |
( |
const G4FastTrack & |
fastTrack | ) |
|
|
private |
Definition at line 104 of file Par01EMShowerModel.cc.
120 tmax = 1.0 * (std::log(y) +
C);
135 yShower = zShower.
cross(xShower);
141 G4double deposit = Energy/double(nSpots);
148 for (
int i = 0; i < nSpots; i++)
160 if (xr < 0.9) r = xr/0.9*Rm;
161 else r = ((xr - 0.9)/0.1*2.5 + 1.0)*Rm;
167 r*std::cos(phi)*xShower + r*std::sin(phi)*yShower;
void SetPosition(const G4ThreeVector &point)
ThreeVector shoot(const G4int Ap, const G4int Af)
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4NistManager * Instance()
Hep3Vector cross(const Hep3Vector &) const
static const double twopi
Hep3Vector orthogonal() const
void SetEnergy(const G4double &E)
const G4Track * GetPrimaryTrack() const
G4double GetRadlen() const
std::vector< Par01EnergySpot > feSpotList
static G4Gamma * GammaDefinition()
◆ FillFakeStep()
Definition at line 222 of file Par01EMShowerModel.cc.
231 GetNavigatorForTracking()->GetWorldVolume());
233 LocateGlobalPointAndUpdateTouchableHandle(eSpot.
GetPosition(),
242 LocateGlobalPointAndUpdateTouchableHandle(eSpot.
GetPosition(),
CLHEP::Hep3Vector G4ThreeVector
G4Navigator * fpNavigator
static G4TransportationManager * GetTransportationManager()
G4ThreeVector GetPosition() const
G4TouchableHandle fTouchableHandle
G4StepPoint * fFakePreStepPoint
G4double GetEnergy() const
◆ IsApplicable()
◆ ModelTrigger()
◆ fCsI
◆ feSpotList
◆ fFakePostStepPoint
G4StepPoint * Par01EMShowerModel::fFakePostStepPoint |
|
private |
◆ fFakePreStepPoint
G4StepPoint* Par01EMShowerModel::fFakePreStepPoint |
|
private |
◆ fFakeStep
G4Step* Par01EMShowerModel::fFakeStep |
|
private |
◆ fNaviSetup
G4bool Par01EMShowerModel::fNaviSetup |
|
private |
◆ fpNavigator
◆ fTouchableHandle
The documentation for this class was generated from the following files: