00001 /* 00002 * IFloatingFeePedestalSvc.h 00003 * 00004 * Interface Floating Fee Pedestal Svc 00005 * Record the preAdc values from past events, 00006 * give best estimation of pedestal of current event. 00007 * 00008 * Created by Zhe Wang Jun 23 2010 00009 */ 00010 00011 #ifndef _I_FLOATING_FEE_PEDESTAL_SVC_H_ 00012 #define _I_FLOATING_FEE_PEDESTAL_SVC_H_ 00013 00014 #include "GaudiKernel/IInterface.h" 00015 #include "Event/ReadoutHeader.h" 00016 #include "Conventions/Electronics.h" 00017 00018 // Declaration of the interface ID 00019 static const InterfaceID IID_IFloatingFeePedestalSvc("IFloatingFeePedestalSvc",1,0); 00020 00021 class IFloatingFeePedestalSvc : virtual public IInterface 00022 { 00023 public: 00024 // Retrieve interface ID 00025 static const InterfaceID& interfaceID(){ 00026 return IID_IFloatingFeePedestalSvc; 00027 } 00028 00029 // Record the preAdc value from past events, 00030 virtual StatusCode cumulate( const DayaBay::ReadoutHeader* rh )= 0; 00031 00032 // Return the FEE Calibration data. Return negative value when error. 00033 virtual double pedestal( const DayaBay::FeeChannelId& channelId, 00034 int gain ) const = 0; 00035 00036 }; 00037 00038 #endif // _I_FLOATING_FEE_PEDESTAL_SVC_H_