CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Functions | Variables
fastsim Namespace Reference

Namespaces

 Constants
 Definition of constants needed for the SimplifiedGeometryPropagator package.
 

Classes

class  BarrelSimplifiedGeometry
 Implementation of a barrel detector layer (cylindrical). More...
 
class  Bremsstrahlung
 Implementation of Bremsstrahlung from e+/e- in the tracker layers. More...
 
class  CMSDummyDeexcitation
 Needed as a dummy interface to Geant4 nuclear de-excitation module. More...
 
class  Decayer
 Implementation of non-stable particle decays. More...
 
class  EnergyLoss
 Implementation of most probable energy loss by ionization in the tracker layers. More...
 
class  ForwardSimplifiedGeometry
 Implementation of a forward detector layer (disk). More...
 
class  Geometry
 Definition the tracker geometry (vectors of forward/barrel layers). More...
 
class  HelixTrajectory
 Mathematical representation of a helix. More...
 
class  InteractionModel
 Base class for any interaction model between a particle and a tracker layer. More...
 
class  LayerNavigator
 Handles/tracks (possible) intersections of particle's trajectory and tracker layers. More...
 
class  MultipleScattering
 Implementation of multiple scattering in the tracker layers. More...
 
class  MuonBremsstrahlung
 Implementation of Bremsstrahlung from mu+/mu- in the tracker layers based on a Petrukhin Model (nuclear screening correction). More...
 
class  NuclearInteraction
 Implementation of nuclear interactions of hadrons in the tracker layers (based on fully simulated interactions). More...
 
class  NuclearInteractionFTF
 Implementation of nuclear interactions of hadrons in the tracker layers (based on FTF model of Geant4). More...
 
class  PairProduction
 Computes the probability for photons to convert into an e+e- pair in the tracker layer. More...
 
class  Particle
 Definition of a generic FastSim Particle which can be propagated through the detector (formerly ParticlePropagator) More...
 
class  ParticleFilter
 (Kinematic) cuts on the particles that are propagated. More...
 
class  ParticleManager
 Manages GenParticles and Secondaries from interactions. More...
 
class  SimplifiedGeometry
 Implementation of a generic detector layer (base class for forward/barrel layers). More...
 
class  SimplifiedGeometryFactory
 Constructs a tracker layer according to entry in python config (incl interaction models). More...
 
class  StraightTrajectory
 Mathematical representation of a straight trajectory. More...
 
class  TrackerSimHitProducer
 Produces SimHits in the tracker layers. More...
 
class  Trajectory
 Definition the generic trajectory of a particle (base class for helix/straight trajectories). More...
 

Typedefs

typedef
edmplugin::PluginFactory
< fastsim::InteractionModel
*(const std::string &name,
const edm::ParameterSet &)> 
InteractionModelFactory
 Define a PluginFactory for all interaction models (provides a handy environment). More...
 

Functions

std::ostream & operator<< (std::ostream &os, const InteractionModel &interactionModel)
 
std::ostream & operator<< (std::ostream &os, const SimplifiedGeometry &layer)
 
std::ostream & operator<< (std::ostream &os, const fastsim::Geometry &geometry)
 
std::ostream & operator<< (std::ostream &os, const Particle &particle)
 Some basic output. More...
 

Variables

static std::once_flag initializeOnce
 
static std::once_flag initializeOnce
 

Typedef Documentation

Define a PluginFactory for all interaction models (provides a handy environment).

Definition at line 12 of file InteractionModelFactory.h.

Function Documentation

std::ostream & fastsim::operator<< ( std::ostream &  os,
const InteractionModel &  interactionModel 
)

Definition at line 3 of file InteractionModel.cc.

References fastsim::InteractionModel::name_, and AlCaHLTBitMon_QueryRunRegistry::string.

3  {
4  os << std::string("interaction model with name '") << (interactionModel.name_) << std::string("'");
5  return os;
6 }
std::ostream & fastsim::operator<< ( std::ostream &  os,
const SimplifiedGeometry &  layer 
)

Definition at line 6 of file SimplifiedGeometry.cc.

References fastsim::SimplifiedGeometry::geomProperty_, fastsim::SimplifiedGeometry::index_, and fastsim::SimplifiedGeometry::isForward().

6  {
7  os << (layer.isForward() ? "ForwardSimplifiedGeometry" : "BarrelSimplifiedGeometry") << " index=" << layer.index_
8  << (layer.isForward() ? " z=" : " radius=") << layer.geomProperty_;
9  return os;
10 }
constexpr std::array< uint8_t, layerIndexSize > layer
std::ostream & fastsim::operator<< ( std::ostream &  os,
const fastsim::Geometry geometry 
)

Definition at line 160 of file Geometry.cc.

References fastsim::Geometry::barrelLayers_, fastsim::Geometry::forwardLayers_, and phase1PixelTopology::layer.

160  {
161  os << "-----------"
162  << "\n# fastsim::Geometry"
163  << "\n## BarrelLayers:";
164  for (const auto& layer : geometry.barrelLayers_) {
165  os << "\n " << *layer << layer->getInteractionModels().size() << " interaction models";
166  }
167  os << "\n## ForwardLayers:";
168  for (const auto& layer : geometry.forwardLayers_) {
169  os << "\n " << *layer << layer->getInteractionModels().size() << " interaction models";
170  }
171  os << "\n-----------";
172  return os;
173 }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:142
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:144
std::ostream & fastsim::operator<< ( std::ostream &  os,
const Particle particle 
)

Some basic output.

Definition at line 3 of file Particle.cc.

References fastsim::Particle::isStable(), fastsim::Particle::momentum_, fastsim::Particle::pdgId_, fastsim::Particle::position_, fastsim::Particle::remainingProperLifeTimeC_, and mathSSE::sqrt().

3  {
4  os << "fastsim::Particle "
5  << " pdgId=" << particle.pdgId_ << " position=(" << particle.position_.X() << "," << particle.position_.Y()
6  << " [R="
7  << sqrt(particle.position_.X() * particle.position_.X() + particle.position_.Y() * particle.position_.Y()) << "],"
8  << particle.position_.Z() << "," << particle.position_.T() << ")"
9  << " momentum=(" << particle.momentum_.X() << "," << particle.momentum_.Y() << "," << particle.momentum_.Z() << ","
10  << particle.momentum_.T() << ")"
11  << " isStable=(" << particle.isStable() << ")"
12  << " remainingProperLifeTimeC=" << particle.remainingProperLifeTimeC_;
13  return os;
14 }
double T() const
Definition: Particle.h:74
double X() const
Definition: Particle.h:59
double Z() const
Definition: Particle.h:69
T sqrt(T t)
Definition: SSEVec.h:19
double Y() const
Definition: Particle.h:64

Variable Documentation

std::once_flag fastsim::initializeOnce
static

Definition at line 293 of file NuclearInteractionFTF.cc.

std::once_flag fastsim::initializeOnce
static