00001 #ifndef RecoLocalMuon_DTTTrigSyncFromDB_H 00002 #define RecoLocalMuon_DTTTrigSyncFromDB_H 00003 00043 #include "CalibMuon/DTDigiSync/interface/DTTTrigBaseSync.h" 00044 00045 00046 class DTLayer; 00047 class DTWireId; 00048 class DTT0; 00049 class DTTtrig; 00050 00051 00052 namespace edm { 00053 class ParameterSet; 00054 } 00055 00056 class DTTTrigSyncFromDB : public DTTTrigBaseSync { 00057 public: 00059 DTTTrigSyncFromDB(const edm::ParameterSet& config); 00060 00062 virtual ~DTTTrigSyncFromDB(); 00063 00064 // Operations 00065 00067 virtual void setES(const edm::EventSetup& setup); 00068 00069 00074 virtual double offset(const DTLayer* layer, 00075 const DTWireId& wireId, 00076 const GlobalPoint& globPos, 00077 double& tTrig, 00078 double& wirePropCorr, 00079 double& tofCorr); 00080 00083 double offset(const DTWireId& wireId); 00084 00085 00091 virtual double emulatorOffset(const DTWireId& wireId, 00092 double &tTrig, 00093 double &t0cell); 00094 00095 00096 private: 00097 00098 const DTT0 *tZeroMap; 00099 const DTTtrig *tTrigMap; 00100 // Set the verbosity level 00101 static bool debug; 00102 // The velocity of signal propagation along the wire (cm/ns) 00103 double theVPropWire; 00104 // Switch on/off the T0 correction from pulses 00105 bool doT0Correction; 00106 // Switch on/off the TOF correction for particles from IP 00107 bool doTOFCorrection; 00108 int theTOFCorrType; 00109 // Switch on/off the correction for the signal propagation along the wire 00110 bool doWirePropCorrection; 00111 int theWirePropCorrType; 00112 // spacing of BX in ns 00113 double theBXspace; 00114 00115 std::string thetTrigLabel; 00116 00117 }; 00118 #endif 00119