test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 {
53 
54  public:
55 
57  MaterialEffects(const edm::ParameterSet& matEff);
58 
61 
64  void interact(FSimEvent& simEvent,
65  const TrackerLayer& layer,
67  unsigned i,
69 
71  void save();
72 
74  inline double thickness() const { return theThickness; }
75 
77  inline double energyLoss() const { return theEnergyLoss; }
78 
81  return MultipleScattering;
82  }
83 
86  return EnergyLoss;
87  }
88 
91  return MuonBremsstrahlung;
92  }
93 
94  private:
95 
97  double radLengths(const TrackerLayer& layer,
98  ParticlePropagator& myTrack);
99 
102  ParticlePropagator& myTrack ) const;
103 
104  private:
105 
113 
114  // Cuts for material effects
115  double pTmin;
117  double theThickness;
120 
121  // debugging
122  // double myEta;
123 
125 
126 };
127 
128 #endif
int i
Definition: DBlmapReader.cc:9
~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
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.