StrobeDelayVariable.h

00001 #ifndef STROBEDELAYVARIABLE_H
00002 #define STROBEDELAYVARIABLE_H
00003 
00004 #include "ConfigurationVariable.h"
00005 #include "ModuleConfiguration.h"
00006 
00007 namespace SctData {
00008     
00009 class StrobeDelayVariable : public ConfigurationVariable {
00010 public:
00011     static const StrobeDelayVariable& instance() throw();
00012     
00013     virtual double getLinkActualPoint(double logicalPt, const ModuleConfiguration& config, unsigned int link) const throw();
00014     virtual double getChipActualPoint(double logicalPt, const ModuleConfiguration& config, unsigned int chip) const throw();
00015     virtual double getChannelActualPoint(double logicalPt, const ModuleConfiguration& config, unsigned int channel) const throw();    
00016     
00017     virtual double getLinkLogicalPoint(double actualPt, const ModuleConfiguration& config, unsigned int link) const throw();
00018     virtual double getChipLogicalPoint(double actualPt, const ModuleConfiguration& config, unsigned int chip) const throw();    
00019     virtual double getChannelLogicalPoint(double actualPt, const ModuleConfiguration& config, unsigned int channel) const throw();   
00020      
00021     virtual double getChipActualPoint(const ModuleConfiguration& config, unsigned int chip) const throw();
00022     virtual void setChipActualPoint(double actualPt, ModuleConfiguration& config, unsigned int chip) const throw(); 
00023     
00024 private:
00025     StrobeDelayVariable();
00026     unsigned char getActualPoint(double logicalPt) const throw();
00027     double getLogicalPoint(unsigned char actualPt) const throw();
00028 
00029 };
00030 
00032 inline unsigned char StrobeDelayVariable::getActualPoint(double logicalPt) const throw() {
00033     return (unsigned char)(logicalPt/2.5);
00034 }
00035 
00036 inline double StrobeDelayVariable::getLogicalPoint(unsigned char actualPt) const throw() {
00037     return 2.5 * actualPt;
00038 }
00039 
00040 
00041 }
00042 
00043 #endif //#ifndef THRESHOLDVARIABLE_H

Generated on Mon Feb 6 14:01:30 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6