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