CMS 3D CMS Logo

Functions
CachedTrajectory.cc File Reference
#include "TrackingTools/TrackAssociator/interface/CachedTrajectory.h"
#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
#include "DataFormats/GeometrySurface/interface/Plane.h"
#include "Geometry/DTGeometry/interface/DTChamber.h"
#include "Geometry/CSCGeometry/interface/CSCChamber.h"
#include <deque>
#include <algorithm>

Go to the source code of this file.

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

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 19 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().

21  {
22  CachedTrajectory neckLace;
23  neckLace.setStateAtIP(state);
24  neckLace.reset_trajectory();
25  neckLace.setPropagator(prop);
26  neckLace.setPropagationStep(0.1);
27  neckLace.setMinDetectorRadius(minR);
28  neckLace.setMinDetectorLength(minZ*2.);
29  neckLace.setMaxDetectorRadius(maxR);
30  neckLace.setMaxDetectorLength(maxZ*2.);
31 
32  // Propagate track
33  bool isPropagationSuccessful = neckLace.propagateAll(state);
34 
35  if (!isPropagationSuccessful)
36  return std::vector<SteppingHelixStateInfo> () ;
37 
38  std::vector<SteppingHelixStateInfo> complicatePoints;
39  neckLace.getTrajectory(complicatePoints, volume, nsteps);
40 
41  return complicatePoints;
42 
43 }
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.)