CMS 3D CMS Logo

Classes | Functions

/data/refman/pasoursint/CMSSW_5_3_0/src/TrackingTools/TrackAssociator/interface/CachedTrajectory.h File Reference

#include "TrackingTools/TrackAssociator/interface/DetIdAssociator.h"
#include "TrackingTools/TrackAssociator/interface/TAMuonChamberMatch.h"
#include "TrackingTools/TrackAssociator/interface/FiducialVolume.h"
#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixStateInfo.h"
#include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
#include "Geometry/CommonDetUnit/interface/GeomDet.h"
#include "DataFormats/DetId/interface/DetId.h"
#include <deque>
#include "FWCore/Utilities/interface/Visibility.h"

Go to the source code of this file.

Classes

class  CachedTrajectory

Functions

std::vector
< SteppingHelixStateInfo
propagateThoughFromIP (const SteppingHelixStateInfo &state, const Propagator *prop, const FiducialVolume &volume, int nsteps, float step, float minR, float minZ, float maxR, float maxZ)

Function Documentation

std::vector<SteppingHelixStateInfo> propagateThoughFromIP ( const SteppingHelixStateInfo state,
const Propagator prop,
const FiducialVolume volume,
int  nsteps,
float  step,
float  minR,
float  minZ,
float  maxR,
float  maxZ 
)

Definition at line 20 of file CachedTrajectory.cc.

References CachedTrajectory::getTrajectory(), CachedTrajectory::propagateAll(), CachedTrajectory::reset_trajectory(), CachedTrajectory::setMaxDetectorLength(), CachedTrajectory::setMaxDetectorRadius(), CachedTrajectory::setMinDetectorLength(), CachedTrajectory::setMinDetectorRadius(), CachedTrajectory::setPropagationStep(), CachedTrajectory::setPropagator(), and CachedTrajectory::setStateAtIP().

Referenced by BetaCalculatorECAL::calcEcalDeposit().

                                                                                  {
   CachedTrajectory neckLace;
   neckLace.setStateAtIP(state);
   neckLace.reset_trajectory();
   neckLace.setPropagator(prop);
   neckLace.setPropagationStep(0.1);
   neckLace.setMinDetectorRadius(minR);
   neckLace.setMinDetectorLength(minZ*2.);
   neckLace.setMaxDetectorRadius(maxR);
   neckLace.setMaxDetectorLength(maxZ*2.);

   // Propagate track
   bool isPropagationSuccessful = neckLace.propagateAll(state);

   if (!isPropagationSuccessful)
     return std::vector<SteppingHelixStateInfo> () ;

   std::vector<SteppingHelixStateInfo> complicatePoints;
   neckLace.getTrajectory(complicatePoints, volume, nsteps);

   return complicatePoints;

}