38#include "G4RunManager.hh"
39#include "G4AnalysisManager.hh"
41#include "Randomize.hh"
42#include "G4SystemOfUnits.hh"
49 fParametrisation( aType ) {}
73 if ( aParticleType.GetQuarkContent(1) +
74 aParticleType.GetQuarkContent(2) +
75 aParticleType.GetQuarkContent(3) +
76 aParticleType.GetQuarkContent(4) +
77 aParticleType.GetQuarkContent(5) +
78 aParticleType.GetQuarkContent(6) != 0 ) {
97 aFastStep.KillPrimaryTrack();
98 aFastStep.ProposePrimaryTrackPathLength( 0.0 );
99 G4double Edep = aFastTrack.GetPrimaryTrack()->GetKineticEnergy();
102 G4ThreeVector Pos = aFastTrack.GetPrimaryTrack()->GetPosition();
103 if ( ! aFastTrack.GetPrimaryTrack()->GetParentID() ) {
105 G4EventManager::GetEventManager()->GetUserInformation();
106 if ( info->GetDoSmearing() ) {
108 G4ThreeVector Porg = aFastTrack.GetPrimaryTrack()->GetMomentum();
117 SmearEnergy( aFastTrack.GetPrimaryTrack(), res ) );
122 ( aFastTrack.GetPrimaryTrack()->GetDynamicParticle()->GetPrimaryParticle() )->
123 GetUserInformation() ) ;
125 primaryInfo->SetHCalEnergy( Esm );
126 primaryInfo->SetHCalResolution( res );
127 primaryInfo->SetHCalEfficiency( eff );
130 aFastStep.ProposeTotalEnergyDeposited( Esm );
134 ( aFastTrack.GetPrimaryTrack()->GetDynamicParticle()->GetPrimaryParticle() )->
135 GetUserInformation() ) )->SetHCalEnergy( Edep );
138 aFastStep.ProposeTotalEnergyDeposited( Edep );
Definition of the Par02FastSimModelHCal class.
Definition of the Par02Output class.
Definition of the Par02PrimaryParticleInformation class.
Definition of the Par02Smearer class.
Definition of detector resolution and efficiency.
Parametrisation
A parametrisation type (CMS, ATLAS, ALEPH).
virtual G4bool ModelTrigger(const G4FastTrack &aFastTrack)
Checks if the model should be applied, taking into account the kinematics of a track.
virtual void DoIt(const G4FastTrack &aFastTrack, G4FastStep &aFastStep)
Smears the energy deposit and saves it, together with the position of the deposit,...
virtual G4bool IsApplicable(const G4ParticleDefinition &aParticle)
Checks if this model should be applied to this particle type.
Par02FastSimModelHCal(G4String aModelName, G4Region *aEnvelope, Par02DetectorParametrisation::Parametrisation aParamType)
A constructor.
Par02DetectorParametrisation * fCalculateParametrisation
A pointer to Par02DetectorParametrisation used to get the efficiency and resolution of the detector f...
Par02DetectorParametrisation::Parametrisation fParametrisation
A parametrisation type.
void FillHistogram(G4int HNo, G4double value) const
Fills the histogram.
static Par02Output * Instance()
Allows the access to the unique Par02Output object.
Primary particle information.
void SetHCalPosition(G4ThreeVector aPosition)
Sets the position of the energy deposit in the hadronic calorimeter.
static Par02Smearer * Instance()
Allows the access to the unique Par02Smearer class object.