CMS 3D CMS Logo

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 
57  ~MaterialEffects();
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
PairProductionSimulator * PairProduction
MultipleScatteringSimulator * multipleScatteringSimulator() const
Return the Multiple Scattering engine.
MaterialEffectsSimulator * NuclearInteraction
MuonBremsstrahlungSimulator * MuonBremsstrahlung
MuonBremsstrahlungSimulator * muonBremsstrahlungSimulator() const
Return the Muon Bremsstrahlung engine.
double energyLoss() const
Return the energy loss by ionization in the current layer.
double thickness() const
Return the thickness of the current layer.
BremsstrahlungSimulator * Bremsstrahlung
HLT enums.
GlobalVector theNormalVector
EnergyLossSimulator * EnergyLoss
EnergyLossSimulator * energyLossSimulator() const
Return the Energy Loss engine.
save
Definition: cuy.py:1165
MultipleScatteringSimulator * MultipleScattering