CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/TrackingTools/GsfTracking/interface/GsfCombinedMaterialEffectsUpdator.h

Go to the documentation of this file.
00001 #ifndef GsfCombinedMaterialEffectsUpdator_h_
00002 #define GsfCombinedMaterialEffectsUpdator_h_
00003 
00004 #include "TrackingTools/GsfTracking/interface/GsfMaterialEffectsUpdator.h"
00005 #include "DataFormats/GeometryCommonDetAlgo/interface/DeepCopyPointerByClone.h"
00006 
00010 class GsfCombinedMaterialEffectsUpdator : public GsfMaterialEffectsUpdator
00011 {  
00012  public:
00013   virtual GsfCombinedMaterialEffectsUpdator* clone() const
00014   {
00015     return new GsfCombinedMaterialEffectsUpdator(*this);
00016   }
00017 
00018 public:
00019 //   /// Default constructor (mass from configurable)
00020 //   GsfCombinedMaterialEffectsUpdator();
00021 //   /// Constructor with explicit mass hypothesis
00022 //   GsfCombinedMaterialEffectsUpdator( float mass );
00024   GsfCombinedMaterialEffectsUpdator (GsfMaterialEffectsUpdator& msUpdator,
00025                                      GsfMaterialEffectsUpdator& elUpdator);
00026 
00027  private:
00028 //   /// initialisation of individual updators
00029 //   void createUpdators(const float);
00030   // here comes the actual computation of the values
00031   virtual void compute (const TrajectoryStateOnSurface&, const PropagationDirection) const;
00032   
00033  private:
00034   // objects used for calculations of multiple scattering and energy loss
00035   DeepCopyPointerByClone<GsfMaterialEffectsUpdator> theMSUpdator;
00036   DeepCopyPointerByClone<GsfMaterialEffectsUpdator> theELUpdator;
00037 };
00038 
00039 #endif