File indexing completed on 2024-04-06 12:31:33
0001 #ifndef _CR_ENERGYLOSSUPDATOR_H_
0002 #define _CR_ENERGYLOSSUPDATOR_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "TrackingTools/MaterialEffects/interface/MaterialEffectsUpdator.h"
0015 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0016 #include "FWCore/Utilities/interface/Visibility.h"
0017
0018 class MediumProperties;
0019
0020 class EnergyLossUpdator final : public MaterialEffectsUpdator {
0021 public:
0022 EnergyLossUpdator* clone() const override { return new EnergyLossUpdator(*this); }
0023
0024 public:
0025 EnergyLossUpdator(float mass) : MaterialEffectsUpdator(mass) {}
0026
0027
0028 void compute(const TrajectoryStateOnSurface&, const PropagationDirection, Effect& effect) const override;
0029
0030 private:
0031
0032 void computeBetheBloch(const LocalVector&, const MediumProperties&, Effect& effect) const dso_internal;
0033
0034 void computeElectrons(const LocalVector&,
0035 const MediumProperties&,
0036 const PropagationDirection,
0037 Effect& effect) const dso_internal;
0038 };
0039
0040 #endif