00001 #ifndef _CR_VOLUMEMATERIALEFFECTSUPDATOR_H_ 00002 #define _CR_VOLUMEMATERIALEFFECTSUPDATOR_H_ 00003 00009 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h" 00010 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h" 00011 00012 #include <vector> 00013 00014 class VolumeMaterialEffectsEstimate; 00015 00016 class VolumeMaterialEffectsUpdator 00017 { 00018 public: 00019 typedef VolumeMaterialEffectsEstimate Estimate; 00020 typedef std::vector<const VolumeMaterialEffectsEstimate*> EstimateContainer; 00021 00022 public: 00023 VolumeMaterialEffectsUpdator () {} 00024 00028 TrajectoryStateOnSurface updateState (const TrajectoryStateOnSurface& TSoS, 00029 const PropagationDirection propDir, 00030 const Estimate& estimate) const; 00031 00035 TrajectoryStateOnSurface updateState (const TrajectoryStateOnSurface& TSoS, 00036 const PropagationDirection propDir, 00037 const EstimateContainer& estimates) const; 00038 00039 }; 00040 00041 #endif