#include #include #include using namespace std; #include "PixelTimeInfo.h" ifstream PixelTimeInfo::f_calibFileTime; PixelTimeInfo::PixelTimeInfo():Pixel(),f_Time(0){ f_ParTime.aT=1.; f_ParTime.bT=0.; } PixelTimeInfo::PixelTimeInfo(int index, double time):Pixel(index){ //parametric constructor f_Time=time; Set(index); } void PixelTimeInfo::Set(int index){ //Global Setter Pixel::Set(index); CalibratePixel(index); f_Time=f_ParTime.aT*f_Time+f_ParTime.bT; } void PixelTimeInfo::Print() const { //printing pixel information Pixel::Print(); cout << "Time = "<< f_Time << endl; } void PixelTimeInfo::OpenCalibFile(){ //static method to open calibration file Pixel::OpenCalibFile(); f_calibFileTime.open("calibTime.dat"); } void PixelTimeInfo::CalibratePixel(int index) const{ //method to fetch calibration parameters for a given channel f_calibFileTime.seekg( (index)*sizeof(f_ParTime)); f_calibFileTime.read((char*)&f_ParTime,sizeof(f_ParTime)); } void PixelTimeInfo::CloseCalibFile(){ //static method to close calibration file Pixel::CloseCalibFile(); f_calibFileTime.close(); }