83 {
84
86 ATH_MSG_DEBUG(
" ===================================================== " );
92 ATH_MSG_DEBUG(
" ===================================================== " );
93 }
94
95
97 ( G4MuonPlus::MuonPlusDefinition() == aStep->GetTrack()->GetDefinition() ||
98 G4MuonMinus::MuonMinusDefinition() == aStep->GetTrack()->GetDefinition() ) ) return;
99
100
101 if (
msgLvl(MSG::VERBOSE)){
103
104 if ( !aStep->GetPostStepPoint() ||
105 !aStep->GetPreStepPoint() )
106 {
107 ATH_MSG_ERROR(
" One of the pointers was null! This should never happen!!!" );
108 throw "Null position pointer";
109 }
110 }
111
112 if ( aStep->GetPreStepPoint()->GetPosition().rho() >
m_config.R ||
113 aStep->GetPreStepPoint()->GetPosition().z() >
m_config.Z ||
114 aStep->GetPreStepPoint()->GetPosition().z() < -
m_config.Z
115 )
116 {
117 return;
118 }
119
120 if ( aStep->GetPostStepPoint()->GetPosition().rho() <
m_config.R &&
121 aStep->GetPostStepPoint()->GetPosition().z() <
m_config.Z &&
122 aStep->GetPostStepPoint()->GetPosition().z() > -
m_config.Z
123 )
124 {
125 return;
126 }
127
128
129
130 ATH_MSG_VERBOSE(
" We have a " << aStep->GetTrack()->GetDefinition()->GetParticleName()
131 << " going from " << std::endl
132 << " ----> " << aStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetRegion()->GetName()
133 << " to "
134 << aStep->GetPostStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetRegion()->GetName()
135 << std::endl
136 << " with attributes: " << std::endl
137 << " Energy: " << aStep->GetTrack()->GetTotalEnergy()
138 << " Eta: " << aStep->GetTrack()->GetMomentum ().getEta()
139 << " Pt: " << aStep->GetTrack()->GetMomentum ().perp()
140 << " and at coordinates: " << std::endl
141 << " R: " << aStep->GetPostStepPoint()->GetPosition().rho()
142 << " Z: " << aStep->GetPostStepPoint()->GetPosition().z()
143 << " Phi: " << aStep->GetPostStepPoint()->GetPosition().phi() );
144
145
146
148 ( G4Electron::ElectronDefinition() == aStep->GetTrack()->GetDefinition() ||
149 G4Positron::PositronDefinition() == aStep->GetTrack()->GetDefinition() ||
150 G4Gamma::GammaDefinition() == aStep->GetTrack()->GetDefinition() ) &&
151 m_config.energyCut < aStep->GetTrack()->GetTotalEnergy() )
return;
152
153
154 if (
m_config.isDalek &&
m_config.energyCut < aStep->GetTrack()->GetKineticEnergy() )
return;
155
157 std::string
name = aStep->GetTrack()->GetDefinition()->GetParticleName();
158 ATH_MSG_DEBUG(
" -------> The particle passed. It is a " << name <<
" and will be killed ! " );
159 }
160
161
163 }
#define ATH_MSG_VERBOSE(x)
bool msgLvl(const MSG::Level lvl) const
Test the output level.
void KillParticle(const G4Step *aStep)