#include "hscschannel.h"
ClassImp(HScsChannelRaw)
ClassImp(HScsChannel)
HScsChannelRaw::HScsChannelRaw() {
fDate=fTime=0;
value=0.;
}
HScsChannelRaw::HScsChannelRaw(UInt_t d,UInt_t t,Double_t v) {
fDate=d;
fTime=t;
value=v;
}
void HScsChannelRaw::getTimestamp(TString& s) {
Char_t buf[25];
sprintf(buf,"%02i-%02i-%4i %02i:%02i:%02i",
(fDate & 0xFF),1+((fDate>>8) & 0xFF),1900+((fDate>>16) & 0xFF),
((fTime>>16) & 0xFF),((fTime>>8) & 0xFF),(fTime & 0xFF));
s=buf;
}
void HScsChannelRaw::print(Int_t valPrec) {
TString s;
getTimestamp(s);
cout.setf(ios::fixed,ios::floatfield);
cout<<s<<setw(10)<<fDate<<setw(10)<<fTime<<" "
<<cout.precision(valPrec)<<setw(valPrec+10)<<value<<'\n';
}
void HScsChannelRaw::write(fstream& fout,Int_t valPrec) {
TString s;
getTimestamp(s);
fout.setf(ios::fixed,ios::floatfield);
fout<<s<<setw(10)<<fDate<<setw(10)<<fTime<<" "
<<fout.precision(valPrec)<<setw(valPrec+10)<<value<<'\n';
}
HScsChannel::HScsChannel(const Char_t* name) {
SetName(name);
valPrecision=status=0;
mean=sigma=minVal=maxVal=previousVal=0.;
pRawData=0;
}
HScsChannel::~HScsChannel() {
if (pRawData) {
pRawData->Delete();
delete pRawData;
pRawData=0;
}
}
void HScsChannel::clear() {
valPrecision=status=0;
mean=sigma=minVal=maxVal=previousVal=0.;
if (pRawData) {
pRawData->Delete();
delete pRawData;
pRawData=0;
}
}
void HScsChannel::setRawData(TObjArray* pArray) {
if (pRawData) {
pRawData->Delete();
delete pRawData;
}
pRawData=pArray;
}
Int_t HScsChannel::getNumRawData() {
if (pRawData) return (pRawData->GetLast()+1);
else return 0;
}
void HScsChannel::print() {
cout<<"Channel: "<<GetName()<<'\n';
cout<<"Type: "<<channelType<<'\n';
cout<<"Precison "<<valPrecision<<'\n';
cout<<"Mean: "<<mean<<'\n';
cout<<"Sigma: "<<sigma<<'\n';
cout<<"MinValue: "<<minVal<<'\n';
cout<<"MaxValue: "<<maxVal<<'\n';
cout<<"PreviousValue: "<<previousVal<<'\n';
cout<<"Status: "<<status<<'\n';
cout<<"NumRawData: "<<getNumRawData()<<'\n';
if (pRawData) {
for (Int_t i=0;i<getNumRawData();i++) {
((HScsChannelRaw*)(pRawData->At(i)))->print(valPrecision);
}
}
cout<<"//------------------------------------------------------------"<<'\n';
}
void HScsChannel::write(fstream& fout) {
fout<<"Channel: "<<GetName()<<'\n';
fout<<"Type: "<<channelType<<'\n';
fout<<"Precison "<<valPrecision<<'\n';
fout<<"Mean: "<<mean<<'\n';
fout<<"Sigma: "<<sigma<<'\n';
fout<<"MinValue: "<<minVal<<'\n';
fout<<"MaxValue: "<<maxVal<<'\n';
fout<<"PreviousValue: "<<previousVal<<'\n';
fout<<"Status: "<<status<<'\n';
fout<<"NumRawData: "<<getNumRawData()<<'\n';
if (pRawData) {
for (Int_t i=0;i<getNumRawData();i++) {
((HScsChannelRaw*)(pRawData->At(i)))->write(fout,valPrecision);
}
}
fout<<"//------------------------------------------------------------"<<'\n';
}
Last change: Sat May 22 13:13:08 2010
Last generated: 2010-05-22 13:13
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.