class HPartialEvent: public HEvent

_HADES_CLASS_DESCRIPTION

HPartialEvent
(UML Diagram)

   Each partial events holds the data (i.e. the HDataObjects) corresponding
 to each main detection system; like Mdcs, Rich...

   These data in a partial event are organized in categories, which stand
 for the different types of data in the partial event. For example, in the
 partial event for the Mdcs there will be a category holding the objects with
 raw data (i.e. the objects instatiating a HMdcRaw). So conceptually the
 categories are "kind of data" and they hold the objects of a particular
 kind (instatiating a particular class).

   The categories are the responsible of giving access to the objects they
 hold (see HCategory), but a partial event must also allow the user to
 access the data stored into it; that's done using the function getCategory()
 which returns a particular category, so the user can ask that category for
 the data object he wants. For example, let's say we have a HLocation object
 loc pointing to any location, and a HPartialEvent par with the Mdc's data;
 if we want to get the raw data object pointed by loc we should use:

    par->getCategory(catMdcRaw)->getObject(loc);

    And this function will return the pursued data object.


Function Members (Methods)

public:
HPartialEvent()
HPartialEvent(const HPartialEvent&)
HPartialEvent(const Text_t* aName, const Text_t* aTitle, Cat_t aBaseCat)
virtual~HPartialEvent()
voidTObject::AbstractMethod(const char* method) const
virtual voidactivateBranch(TTree* tree, Int_t splitLevel)
voidaddCategory(Cat_t aCat, HCategory* category)
virtual Bool_taddCategory(Cat_t aCat, HCategory* cat, Option_t* opt)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt = "")
virtual voidclearAll(Int_t level)
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Cat_tgetBaseCat()
TObjArray*getCategories()
virtual HCategory*getCategory(Cat_t aCat)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual HEventHeader*HEvent::getHeader() const
virtual const char*TObject::GetIconName() const
virtual const Text_t*HEvent::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tgetRecLevel()
TObject*getSubHeader()
virtual const Text_t*HEvent::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_thasExpandedStreamer()
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tisEmpty()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidmakeBranch(TBranch* parent)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HPartialEvent&operator=(const HPartialEvent&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_tremoveCategory(Cat_t aCat)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetExpandedStreamer(Bool_t t)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetPersistency(Bool_t fPersistency)
voidsetRecLevel(Int_t aRecLevel)
voidsetSubHeader(TObject* header)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Cat_tfBaseCategoryIdentifier for the first category stored in this partial event
TObjArray*fCategories! Categories
TObject*fHeaderSub event's header.
TString*HEvent::fName! Event's name
Int_tfRecLevelReconstruction level of the event
TString*HEvent::fTitle! Event's title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HPartialEvent(const HPartialEvent& )
Default constructor
HPartialEvent(const Text_t* aName, const Text_t* aTitle, Cat_t aBaseCat)
Allocates a new HPartial event with name aName and title aTitle

 aBaseCat is the identifier of the lower category that will be stored in
 this partial event, for example: if the user wants to allocate a partial
 event holding the Mdc data, then aBaseCat should be: catMdc; which is a
 constant defined in HadDef.h
~HPartialEvent(void)
Clears the event
void activateBranch(TTree* tree, Int_t splitLevel)
 Activates those branches in the TTree tree whose names are equal to those
of the branches that would be generated with the current event structure if
the function makeBranch() is called, being the split level=splitLevel

 This way if we have a TTree with a lot of branches and we only need some
of them to fill data in the event structure we are using at a given moment,
then we only activate those branches and the others are not read
void makeBranch(TBranch* parent)
 Makes branches for each category in the partial event and for the split
tree, then those branches are added to the list of subbranches of "parent"

 This method is called by Hades::makeTree()
Bool_t addCategory(Cat_t aCat, HCategory* cat, Option_t* opt)
 Adds the category "cat", identified by "aCat" to the partial event.
void addCategory(Cat_t aCat, HCategory* category)
 Adds the category "category", which is identified by aCat, to the partial
event

 Before using this function the user should setup the HCategory "category"

Bool_t removeCategory(Cat_t aCat)
Removes the category aCat from this partial event and deletes it.
TObjArray * getCategories(void)
 Returns an array with all the categories held by this event

 To add categories to the partial event use HPartialEvent::addCategory()
HCategory * getCategory(Cat_t aCat)
 Returns a pointer to the category identified by "aCat"
void Clear(Option_t* opt = "")
 Clears the partial event,i.e. deletes all objects in the partial event
but keeping its structure.

 After the reconstruction of each event, the HEvent::Clear function must
be called in order to make place for the new data.
void clearAll(Int_t level)
See HEvent
void setRecLevel(Int_t aRecLevel)
 Sets the reconstruction level of the event, this is useful to know which
categories in the event are already reconstructed.
void setPersistency(Bool_t fPersistency)
Int_t getRecLevel(void)
 Returns the reconstruction level of the partial event.
void Browse(TBrowser* b)
 Method used to browse a partial event with a Root browser.

 This function will be called by a Root browser, not by the user
void Streamer(TBuffer& b)
 Stream an object of class HPartialEvent.
HPartialEvent(const HPartialEvent& )
Cat_t getBaseCat(void)
{return fBaseCategory;}
void setSubHeader(TObject* header)
{fHeader=header;}
TObject * getSubHeader(void)
{return fHeader;}
Bool_t isEmpty(void)
{return fCategories->IsEmpty();}
Bool_t IsFolder(void)
{return kFALSE;}
void setExpandedStreamer(Bool_t t)
{ SetBit(32,t); }
Bool_t hasExpandedStreamer(void)
{return TestBit(32); }

Last change: Sat May 22 13:06:33 2010
Last generated: 2010-05-22 13:06

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.