CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MaterialEffects.h
Go to the documentation of this file.
1 
2 #ifndef MaterialEffects_h
3 #define MaterialEffects_h
4 
28 //Framework Headers
29 //#include "FWCore/ParameterSet/interface/ParameterSet.h"
30 
31 // Geometry Headers
33 
34 #include <vector>
35 class FSimEvent;
36 class TrackerLayer;
37 class ParticlePropagator;
41 //class NuclearInteractionSimulator;
46 
47 namespace edm {
48  class ParameterSet;
49 }
50 
52 public:
54  MaterialEffects(const edm::ParameterSet& matEff);
55 
58 
61  void interact(FSimEvent& simEvent,
62  const TrackerLayer& layer,
64  unsigned i,
66 
68  void save();
69 
71  inline double thickness() const { return theThickness; }
72 
74  inline double energyLoss() const { return theEnergyLoss; }
75 
78 
81 
84 
85 private:
87  double radLengths(const TrackerLayer& layer, ParticlePropagator& myTrack);
88 
90  GlobalVector normalVector(const TrackerLayer& layer, ParticlePropagator& myTrack) const;
91 
92 private:
100 
101  // Cuts for material effects
102  double pTmin;
104  double theThickness;
107 
108  // debugging
109  // double myEta;
110 
112 };
113 
114 #endif
~MaterialEffects()
Default destructor.
PairProductionSimulator * PairProduction
MultipleScatteringSimulator * multipleScatteringSimulator() const
Return the Multiple Scattering engine.
GlobalVector normalVector(const TrackerLayer &layer, ParticlePropagator &myTrack) const
The vector normal to the surface traversed.
MaterialEffectsSimulator * NuclearInteraction
MuonBremsstrahlungSimulator * MuonBremsstrahlung
constexpr std::array< uint8_t, layerIndexSize > layer
MuonBremsstrahlungSimulator * muonBremsstrahlungSimulator() const
Return the Muon Bremsstrahlung engine.
void save()
Save nuclear interaction information.
double energyLoss() const
Return the energy loss by ionization in the current layer.
void interact(FSimEvent &simEvent, const TrackerLayer &layer, ParticlePropagator &PP, unsigned i, RandomEngineAndDistribution const *)
double radLengths(const TrackerLayer &layer, ParticlePropagator &myTrack)
The number of radiation lengths traversed.
double thickness() const
Return the thickness of the current layer.
BremsstrahlungSimulator * Bremsstrahlung
GlobalVector theNormalVector
EnergyLossSimulator * EnergyLoss
EnergyLossSimulator * energyLossSimulator() const
Return the Energy Loss engine.
MultipleScatteringSimulator * MultipleScattering
MaterialEffects(const edm::ParameterSet &matEff)
Constructor.