CMS 3D CMS Logo

Classes | Functions
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< SteppingHelixStateInfopropagateThoughFromIP (const SteppingHelixStateInfo &state, const Propagator *prop, const FiducialVolume &volume, int nsteps, float step, float minR, float minZ, float maxR, float maxZ)
 

Function Documentation

◆ propagateThoughFromIP()

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 18 of file CachedTrajectory.cc.

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

26  {
27  CachedTrajectory neckLace;
28  neckLace.setStateAtIP(state);
29  neckLace.reset_trajectory();
30  neckLace.setPropagator(prop);
31  neckLace.setPropagationStep(0.1);
32  neckLace.setMinDetectorRadius(minR);
33  neckLace.setMinDetectorLength(minZ * 2.);
34  neckLace.setMaxDetectorRadius(maxR);
35  neckLace.setMaxDetectorLength(maxZ * 2.);
36 
37  // Propagate track
38  bool isPropagationSuccessful = neckLace.propagateAll(state);
39 
40  if (!isPropagationSuccessful)
41  return std::vector<SteppingHelixStateInfo>();
42 
43  std::vector<SteppingHelixStateInfo> complicatePoints;
44  neckLace.getTrajectory(complicatePoints, volume, nsteps);
45 
46  return complicatePoints;
47 }
void setMinDetectorLength(float l=0.)
void setMinDetectorRadius(float r=0.)
void setPropagationStep(float s=20.)
void getTrajectory(std::vector< SteppingHelixStateInfo > &, const FiducialVolume &, int steps=4)
bool propagateAll(const SteppingHelixStateInfo &initialState)
propagate through the whole detector, returns true if successful
void setPropagator(const Propagator *ptr)
void setStateAtIP(const SteppingHelixStateInfo &state)
void setMaxDetectorLength(float l=2200.)
void setMaxDetectorRadius(float r=800.)