Skip to content
Snippets Groups Projects
Commit 5f1c70e6 authored by Alan Poppleton's avatar Alan Poppleton Committed by Graeme Stewart
Browse files

fix leak (TrkiPatFitter-02-07-10)

	* src/MaterialAllocator.cxx (indetMaterial): fix leak
	* tag as TrkiPatFitter-02-07-10

2014-01-13 Niels van Eldik

	* src/MaterialAllocator.cxx (initializeScattering): avoid FPE when material thickness small or equal to zero
	* tag as TrkiPatFitter-02-07-09

2014-12-16  Alan Poppleton  <Alan.Poppleton@cern.ch>

	* src/iPatFitter.cxx (printTSOS):    debugging aid
	* tag as TrkiPatFitter-02-07-08

2014-12-04  Alan Poppleton  <Alan.Poppleton@cern.ch>

	* src/MaterialAllocator.cxx (indetMaterial): fix ATR-9608

2014-11-25  Alan Poppleton  <Alan.Poppleton@cern.ch>

...
(Long ChangeLog diff - truncated)
parent f4c9eb40
No related branches found
No related tags found
No related merge requests found
......@@ -86,9 +86,19 @@ public:
private:
// add material delimiters to control aggregation
void addSpectrometerDelimiters (std::list<FitMeasurement*>& measurements) const;
// memory management
void deleteMaterial (const std::vector<const TrackStateOnSurface*>* material) const;
// extrapolateM wrapper
const std::vector<const TrackStateOnSurface*>* extrapolatedMaterial (
ToolHandle<IExtrapolator> extrapolator,
const TrackParameters& parameters,
const Surface& surface,
PropDirection dir,
BoundaryCheck boundsCheck,
ParticleHypothesis particleHypothesis) const;
// allocate material in inner detector
void indetMaterial (std::list<FitMeasurement*>& measurements,
ParticleHypothesis particleHypothesis,
......
......@@ -135,6 +135,10 @@ private:
const DataVector<const TrackStateOnSurface>* leadingTSOS = 0,
const FitQuality* perigeeQuality = 0) const;
// print TSOS on a track (debugging aid)
void printTSOS (const Track&) const;
// configurables (tools and options)
bool m_aggregateMaterial;
bool m_asymmetricCaloEnergy;
......
......@@ -473,6 +473,7 @@ iPatFitter::fit (const Track& indetTrack,
&& spectrometerPerigee)
{
if (indetTrack.info().trackProperties(Trk::TrackInfo::StraightTrack)
|| ! indetPerigee
|| ! indetPerigee->covariance())
{
m_parameters->qOverP(spectrometerPerigee->parameters()[Trk::qOverP]);
......@@ -1073,4 +1074,54 @@ iPatFitter::performFit(std::list<FitMeasurement*>* measurements,
return fittedTrack;
}
void
iPatFitter::printTSOS (const Track& track) const
{
// debugging aid
MsgStream log(msgSvc(), name());
msg(MSG::INFO) << " track with " << track.trackStateOnSurfaces()->size() << " TSOS " << endreq;
int tsos = 0;
for (DataVector<const TrackStateOnSurface>::const_iterator t = track.trackStateOnSurfaces()->begin();
t != track.trackStateOnSurfaces()->end();
++t, ++tsos)
{
msg() << std::setiosflags(std::ios::fixed|std::ios::right)
<< " TSOS# " << std::setw(3) << tsos
<< " parameters: "
<< std::setw(7) << std::setprecision(1)
<< (**t).trackParameters()->position().perp()
<< std::setw(8) << std::setprecision(4)
<< (**t).trackParameters()->position().phi()
<< std::setw(9) << std::setprecision(1)
<< (**t).trackParameters()->position().z()
<< " position "
<< std::setw(8) << std::setprecision(4)
<< (**t).trackParameters()->momentum().phi()
<< " phi "
<< std::setw(7) << std::setprecision(4)
<< (**t).trackParameters()->momentum().theta()
<< " theta "
<< std::setw(9) << std::setprecision(4)
<< (**t).trackParameters()->momentum().mag()/Gaudi::Units::GeV << " GeV";
if ((**t).measurementOnTrack())
{
msg() << " meas ";
}
else
{
msg() << " ";
}
if ((**t).materialEffectsOnTrack())
{
msg() << " scat ";
}
else
{
msg() << " ";
}
msg() << (**t).dumpType() << endreq;
}
}
} // end of namespace
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment