// $Id: BrEvent.cxx,v 1.5 1998/08/20 14:34:44 hagel Exp $
// $Log: BrEvent.cxx,v $
// Revision 1.5 1998/08/20 14:34:44 hagel
// Add Copy method
//
// Revision 1.4 1998/08/14 21:26:24 videbaek
// Some cleanup mods
//
// Revision 1.3 1998/03/09 20:53:50 videbaek
// Ensure that pointers are non-NULL before deleting
//
// Revision 1.2 1998/03/06 22:09:58 videbaek
// Working update
//
// Revision 1.1.1.1 1998/03/04 21:32:48 brahmlib
// Brat base
//
//
#include "BrEvent.h"
#include <iostream.h>
//
// Root classes
//
#include "TBuffer.h"
////////////////////////////////////////////////////////////
//
// BrEvent is a BRAHMS data class providing storage and
// access function for event data information. The data
// is stored in BrDataObject objects that are kept inside
// a THashList.
// This allows modification of the BrEvent content by the
// user, with the BrDataObject providing a standard interface
// for information retrieval, bookkeeping and I/O selection.
//
////////////////////////////////////////////////////////////
ClassImp(BrEvent)
BrEvent::BrEvent()
{
// Constructor. Set counter and list data members to zero.
// Don't use this constructor unless you have to and know
// what you are doing
// Use BrEvent(Int_t run, Int_t event) instead
fEventHeader = NULL;
}
BrEvent::BrEvent(Char_t* Name, Int_t run, Int_t event) : BrEventNode(Name)
{
// Constructor. Create the event header and the hash table
// for storing the data objects for this event. Set the
// event name.
fEventHeader = new BrEventHeader(run, event);
Char_t txt[512];
sprintf(txt,"event_%d_%d",run,event);
SetName(txt);
sprintf(txt," run %d, event %d",run,event);
SetTitle(txt);
}
BrEvent::~BrEvent()
{
// Destructor. Delete BrEvent and all the data objects
// currently owned by BrEvent
#ifdef _BRDEBUG
cout << "BrEvent : dtor" << endl;
#endif
if(fEventHeader)
delete fEventHeader;
}
void BrEvent::Copy(BrEvent &event) {
BrEventNode::Copy(event);
if(fEventHeader) {
BrEventHeader *eventheader = event.GetEventHeader();
if(eventheader) *eventheader = *fEventHeader;
}
/*
BrEventHeader *eventheader = event.GetEventHeader();
if(eventheader) {
if(!fEventHeader) fEventHeader = new BrEventHeader();
*fEventHeader = *eventheader;
}
*/
}
/*
//______________________________________________________________________________
void BrEvent::Streamer(TBuffer &R__b)
{
// Stream an object of class BrEvent.
if (R__b.IsReading()) {
Version_t R__v = R__b.ReadVersion();
BrDataObject::Streamer(R__b);
R__b >> fVerbose;
R__b >> fEventHeader;
R__b >> fObjectList;
} else {
R__b.WriteVersion(BrEvent::IsA());
BrDataObject::Streamer(R__b);
R__b << fVerbose;
R__b << fEventHeader;
// make a temporary hashtable for the objects marked
// as persistent and store only those in the output
// buffer
THashTable *temp = new THashTable();
TIter NextObject(fObjectList);
TObject *obj;
while(obj = NextObject())
{
temp->Add(obj);
}
R__b << temp;
temp->Clear();
delete temp;
}
}
*/
ROOT page - Class index - Top of the page
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.