CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/TrackingTools/GsfTracking/interface/GsfMultipleScatteringUpdator.h

Go to the documentation of this file.
00001 #ifndef GsfMultipleScatteringUpdator_h_
00002 #define GsfMultipleScatteringUpdator_h_
00003 
00004 #include "TrackingTools/GsfTracking/interface/GsfMaterialEffectsUpdator.h"
00005 
00014 class GsfMultipleScatteringUpdator : public GsfMaterialEffectsUpdator {
00015 
00016 public:
00017 //   /// default constructor (mass from configurable)
00018 //   GsfMultipleScatteringUpdator() :
00019 //     GsfMaterialEffectsUpdator(),
00020 //     theLastDz(0.),
00021 //     theLastP(0.),
00022 //     theLastPropDir(alongMomentum),
00023 //     theLastRadLength(0.) {}
00025   GsfMultipleScatteringUpdator(float mass) :
00026     GsfMaterialEffectsUpdator(mass),
00027     theLastDz(0.),
00028     theLastP(0.),
00029     theLastPropDir(alongMomentum),
00030     theLastRadLength(0.) {}
00031   
00032   virtual GsfMultipleScatteringUpdator* clone() const
00033   {
00034     return new GsfMultipleScatteringUpdator(*this);
00035   }
00036   
00037   
00038 private:
00040   virtual void compute (const TrajectoryStateOnSurface&, const PropagationDirection) const;
00041   
00042 protected:
00043   // check of arguments for use with cached values
00044   virtual bool newArguments (const TrajectoryStateOnSurface&, const PropagationDirection) const;
00045   // storage of arguments for later use of 
00046   virtual void storeArguments (const TrajectoryStateOnSurface&, const PropagationDirection) const;
00047 
00048 private:
00049   mutable float theLastDz;
00050   mutable float theLastP;
00051   mutable PropagationDirection theLastPropDir;
00052   mutable float theLastRadLength;
00053 };
00054 
00055 #endif