00001 00002 #ifndef CalibTracker_SiStripESProducers_SiStripLorentzAngleGenerator_H 00003 #define CalibTracker_SiStripESProducers_SiStripLorentzAngleGenerator_H 00004 00005 #include "FWCore/Framework/interface/Frameworkfwd.h" 00006 #include "FWCore/ServiceRegistry/interface/Service.h" 00007 #include "CondTools/SiStrip/interface/SiStripCondObjBuilderBase.h" 00008 #include "CondFormats/SiStripObjects/interface/SiStripLorentzAngle.h" 00009 #include <string> 00010 00022 class SiStripLorentzAngleGenerator : public SiStripCondObjBuilderBase<SiStripLorentzAngle> { 00023 public: 00024 00025 explicit SiStripLorentzAngleGenerator(const edm::ParameterSet&,const edm::ActivityRegistry&); 00026 ~SiStripLorentzAngleGenerator(); 00027 00028 void getObj(SiStripLorentzAngle* & obj){createObject(); obj=obj_;} 00029 00030 private: 00031 00032 void createObject(); 00033 float hallMobility_; 00040 void setHallMobility(const double & meanMin, const double & meanMax, const double & sigma, const bool uniform); 00042 void setUniform(const std::vector<double> & TIB_EstimatedValuesMin, const std::vector<double> & TIB_EstimatedValuesMax, std::vector<bool> & uniformTIB); 00043 }; 00044 00045 #endif