Handles/tracks (possible) intersections of particle's trajectory and tracker layers. More...
#include <LayerNavigator.h>
Public Member Functions | |
LayerNavigator (const Geometry &geometry) | |
Constructor. More... | |
bool | moveParticleToNextLayer (Particle &particle, const SimplifiedGeometry *&layer) |
Move particle along its trajectory to the next intersection with any of the tracker layers. More... | |
Private Attributes | |
const Geometry *const | geometry_ |
The geometry of the tracker material. More... | |
const BarrelSimplifiedGeometry * | nextBarrelLayer_ |
Pointer to the next (direction of the particle's momentum) barrel layer. More... | |
const ForwardSimplifiedGeometry * | nextForwardLayer_ |
Pointer to the next (direction of the particle's momentum) forward layer. More... | |
const BarrelSimplifiedGeometry * | previousBarrelLayer_ |
Pointer to the previous (opposite direction of the particle's momentum) barrel layer. More... | |
const ForwardSimplifiedGeometry * | previousForwardLayer_ |
Pointer to the previous (opposite direction of the particle's momentum) forward layer. More... | |
Static Private Attributes | |
static const std::string | MESSAGECATEGORY = "FastSimulation" |
Handles/tracks (possible) intersections of particle's trajectory and tracker layers.
the geometry is described by 2 sets of layers:
principle
algorithm
Definition at line 48 of file LayerNavigator.h.
fastsim::LayerNavigator::LayerNavigator | ( | const Geometry & | geometry | ) |
Constructor.
geometry | The geometry of the tracker material. |
Definition at line 60 of file LayerNavigator.cc.
bool fastsim::LayerNavigator::moveParticleToNextLayer | ( | fastsim::Particle & | particle, |
const SimplifiedGeometry *& | layer | ||
) |
Move particle along its trajectory to the next intersection with any of the tracker layers.
particle | The particle that has to be moved to the next layer. |
layer | The layer to which the particle was moved in the previous call of this function (0 if first call). Returns the layer this particle was then moved to. |
Definition at line 69 of file LayerNavigator.cc.
References funct::abs(), fastsim::Trajectory::createTrajectory(), alignCSCRings::e, Exception, fastsim::Particle::gamma(), fastsim::SimplifiedGeometry::getMagneticFieldZ(), fastsim::SimplifiedGeometry::index(), fastsim::SimplifiedGeometry::isForward(), fastsim::Particle::isOnLayer(), fastsim::Particle::isStable(), phase1PixelTopology::layer, LayerTriplets::layers(), LogDebug, fastsim::Particle::momentum(), fastsim::Particle::position(), fastsim::Particle::remainingProperLifeTimeC(), fastsim::Particle::resetOnLayer(), fastsim::Particle::setOnLayer(), and fastsim::Particle::setRemainingProperLifeTimeC().
Referenced by FastSimProducer::createFSimTrack(), and FastSimProducer::produce().
|
private |
The geometry of the tracker material.
Definition at line 65 of file LayerNavigator.h.
|
staticprivate |
find the next layer that the particle will cross
motivation for a new algorithm
definitions the geometry is described by 2 sets of layers:
principle
algorithm
notes
Definition at line 74 of file LayerNavigator.h.
|
private |
Pointer to the next (direction of the particle's momentum) barrel layer.
Definition at line 67 of file LayerNavigator.h.
|
private |
Pointer to the next (direction of the particle's momentum) forward layer.
Definition at line 71 of file LayerNavigator.h.
|
private |
Pointer to the previous (opposite direction of the particle's momentum) barrel layer.
Definition at line 69 of file LayerNavigator.h.
|
private |
Pointer to the previous (opposite direction of the particle's momentum) forward layer.
Definition at line 73 of file LayerNavigator.h.