CMS 3D CMS Logo

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 14 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.

4 {
5  os << std::string("interaction model with name '") << (interactionModel.name_) << std::string("'");
6  return os;
7 }
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().

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

Definition at line 166 of file Geometry.cc.

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

167 {
168  os << "-----------"
169  << "\n# fastsim::Geometry"
170  << "\n## BarrelLayers:";
171  for(const auto & layer : geometry.barrelLayers_)
172  {
173  os << "\n " << *layer
174  << layer->getInteractionModels().size() << " interaction models";
175  }
176  os << "\n## ForwardLayers:";
177  for(const auto & layer : geometry.forwardLayers_)
178  {
179  os << "\n " << *layer
180  << layer->getInteractionModels().size() << " interaction models";
181  }
182  os << "\n-----------";
183  return os;
184 }
std::vector< std::unique_ptr< BarrelSimplifiedGeometry > > barrelLayers_
The vector of barrel layers (increasing radius)
Definition: Geometry.h:156
std::vector< std::unique_ptr< ForwardSimplifiedGeometry > > forwardLayers_
The vector of forward layers (increasing Z-position)
Definition: Geometry.h:157
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().

4 {
5  os << "fastsim::Particle "
6  << " pdgId=" << particle.pdgId_
7  << " position=(" << particle.position_.X() << "," << particle.position_.Y() << " [R=" << sqrt(particle.position_.X()*particle.position_.X()+particle.position_.Y()*particle.position_.Y()) << "]," << particle.position_.Z() << "," << particle.position_.T() << ")"
8  << " momentum=(" << particle.momentum_.X() << "," << particle.momentum_.Y() << "," << particle.momentum_.Z() << "," << particle.momentum_.T() << ")"
9  << " isStable=(" << particle.isStable() << ")"
10  << " remainingProperLifeTimeC=" << particle.remainingProperLifeTimeC_;
11  return os;
12 }
double T() const
Definition: Particle.h:55
double X() const
Definition: Particle.h:49
double Z() const
Definition: Particle.h:53
T sqrt(T t)
Definition: SSEVec.h:18
double Y() const
Definition: Particle.h:51

Variable Documentation

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

Definition at line 243 of file NuclearInteractionFTF.cc.