//------------------------------------------------------------------------------ // Main data classes -- // (C) Piero Giubilato 2008-2010, Berkeley Lab -- //------------------------------------------------------------------------------ //______________________________________________________________________________ // {Trace} // [File name] "data_Object.cpp" // [Author] "Piero Giubilato" // [Version] "1.0" // [Modified by] "Piero Giubilato" // [Last revision] "27 Jan 2009" // [Language] "C++" // [Compiler] "Visual C++ 8.x 9.x" // [Member of] "Cool SEAL" // [Project] "SEAL" // [Description] "Main data classes." // [Key documentation] // "Root user's guide" // "Visual C++ Reference Help" // {Trace} //______________________________________________________________________________ // Application components #include "global.h" #include "data_Object.h" // CINT Preprocessor class import definition ClassImp(data_Object) //______________________________________________________________________________ // Static initialization size_t data_Object::data_Size; //______________________________________________________________________________ data_Object::data_Object() { // This class provides some basic properties common to all data objects. // Standard constructor. dbg_Print("data_Object::data_Object:()", DBG_LVL_ZERO); // Initialize obj_Id = 0; obj_Time = 0; obj_Name = "Unknown"; obj_Info = "None"; obj_isOk = true; obj_isModified = false; } //______________________________________________________________________________ data_Object::~data_Object() { // Default destructor dbg_Print("data_Object::~data_Object:()", DBG_LVL_ZERO); } //______________________________________________________________________________ UInt_t data_Object::obj_Type() const { // Gets object(class) type return data_Object::kot_Null; } //______________________________________________________________________________ UInt_t data_Object::data_Type() const { // Gets data type return data_Object::kdt_Null; } //______________________________________________________________________________ UInt_t data_Object::Id() const { // Gets object ID return obj_Id; } //______________________________________________________________________________ UInt_t data_Object::Id(UInt_t Id) { // Sets object timestamp obj_Id = Id; return obj_Time; } //______________________________________________________________________________ UInt_t data_Object::Time() const { // Gets object timestamp return obj_Time; } //______________________________________________________________________________ UInt_t data_Object::Time(UInt_t Time) { // Sets object timestamp obj_Time = Time; return obj_Time; } //______________________________________________________________________________ const TString data_Object::Name () const { // Gets object name. return obj_Name; } //______________________________________________________________________________ TString data_Object::Name (const char* text) { // Sets object name. obj_Name.Form(text); return obj_Name; } //______________________________________________________________________________ const TString data_Object::Info () const { // Gets object additional info return obj_Info; } //______________________________________________________________________________ TString data_Object::Info (const char* text) { // Sets object additional info obj_Info.Form(text);; return obj_Info; } //______________________________________________________________________________ bool data_Object::isOk () const { // Gets object current status return obj_isOk; } //______________________________________________________________________________ bool data_Object::isOk (bool isOk) { // Sets object current status obj_isOk = isOk; return obj_isOk; } //______________________________________________________________________________ bool data_Object::isModified () const { // Gets if object has been modified return obj_isModified; } //______________________________________________________________________________ bool data_Object::isModified (bool isModified) { // Sets object current status obj_isModified = isModified; return obj_isModified; } //______________________________________________________________________________ size_t data_Object::stc_data_Size() { // Returns the global data size allocated return data_Size; } //______________________________________________________________________________ void data_Object::stc_data_size_Add(size_t add) { // Adds to the total data size data_Size += add; //std::cout << "MEMORY ADD: " << add << "\n"; //std::cout << "MEMORY REPORT: " << data_Size << "\n"; } //______________________________________________________________________________ void data_Object::stc_data_size_Del(size_t del) { // Deletes from the global data size data_Size -= del; //std::cout << "MEMORY DEL: " << del << "\n"; //std::cout << "MEMORY REPORT: " << data_Size << "\n"; } //______________________________________________________________________________ void data_Object::Dump(UInt_t level) const { // Dumps all the object data into std::out // Show the header and the data members TString space(' ', level); std::cout << space.Data() << "*data_Object: " << (int*)this << "\n"; std::cout << space.Data() << "class_Ver: " << class_Ver << "\n"; std::cout << space.Data() << "obj_Name: " << obj_Name.Data() << "\n"; std::cout << space.Data() << "obj_Info: " << obj_Info.Data() << "\n"; std::cout << space.Data() << "obj_Id: " << obj_Id << "\n"; std::cout << space.Data() << "obj_Time: " << obj_Time << "\n"; std::cout << space.Data() << "obj_isOk: " << obj_isOk << "\n"; std::cout << space.Data() << "obj_isModified: " << obj_isModified << "\n"; } //______________________________________________________________________________ void data_Object::Streamer(TBuffer &b) { // Streams the data for the data_Object // Read if (b.IsReading()) { // Debug dbg_Print ("data_Object::Streamer:(read)",DBG_LVL_FLOW) // Dummy pivot var //const char* c_Tmp; // Reads class version UShort_t class_ver_Read = 0; b >> class_ver_Read; // Checks version if (class_ver_Read != class_Ver) { // Debug dbg_Print ("data_Object::Streamer:(read): version mismatch", DBG_LVL_WARN) dbg_Value(class_ver_Read, DBG_LVL_WARN); dbg_Value(class_Ver, DBG_LVL_WARN); } // Reads object properties b >> obj_Id; b >> obj_Time; b >> obj_Name; b >> obj_Info; b >> obj_isOk; b >> obj_isModified; // Write } else { // Debug dbg_Print ("data_Object::Streamer:(write)",DBG_LVL_FLOW) // Writes class version b << class_Ver; // Writes object properties b << obj_Id; b << obj_Time; b << obj_Name; b << obj_Info; b << obj_isOk; b << obj_isModified; } }