/* ======================================================================== *\ ! ! * ! * This file is part of MARS, the MAGIC Analysis and Reconstruction ! * Software. It is distributed to you in the hope that it can be a useful ! * and timesaving tool in analysing Data of imaging Cerenkov telescopes. ! * It is distributed WITHOUT ANY WARRANTY. ! * ! * Permission to use, copy, modify and distribute this software and its ! * documentation for any purpose is hereby granted without fee, ! * provided that the above copyright notice appear in all copies and ! * that both that copyright notice and this permission notice appear ! * in supporting documentation. It is provided "as is" without express ! * or implied warranty. ! * ! ! ! Author(s): Thomas Bretz 12/2000 ! ! Copyright: MAGIC Software Development, 2000-2004 ! ! \* ======================================================================== */ ///////////////////////////////////////////////////////////////////////////// // // MRawCrateData // // This container stores the information about one crate. A list of this // informations can be find at MRawCrateArray // ///////////////////////////////////////////////////////////////////////////// #include "MRawCrateData.h" #include #include #include #include "MLog.h" #include "MLogManip.h" ClassImp(MRawCrateData); using namespace std; MRawCrateData::MRawCrateData() : fDAQCrateNumber(0), fFADCEvtNumber(0), fFADCClockTick(0), fABFlags(0) { } // -------------------------------------------------------------------------- // // read the information from a binary input stream about the CRATE DATA, // like specified in a TDAS note // void MRawCrateData::ReadEvt(istream& fin, UShort_t ver) { fin.read((char*)&fDAQCrateNumber, 2); fin.read((char*)&fFADCEvtNumber, 4); fin.read((char*)&fFADCClockTick, 4); if (ver>1) fin.read((char*)&fABFlags, 1); } void MRawCrateData::SkipEvt(istream &fin, UShort_t ver) { fin.seekg(ver>1?11:10); } // -------------------------------------------------------------------------- // // print all stored information to gLog // void MRawCrateData::Print(Option_t *t) const { *fLog << all; *fLog << "Crate #" << dec << fDAQCrateNumber << ": "; *fLog << "FADCEventNr = " << fFADCEvtNumber << " "; *fLog << "FADCClockTick = " << fFADCClockTick << " (20MHz) "; *fLog << "ABFlags = 0x" << Form("%02x", fABFlags) << endl; }