CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
< 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().

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