Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

RecMinos.h

Go to the documentation of this file.
00001 
00002 //
00003 // RecMinos
00004 //
00005 // RecMinos is the Base Class for MINOS records
00006 //
00007 // Author:  R. Hatcher  4/2001
00008 //
00010 
00011 #ifndef RECMINOS_H
00012 #define RECMINOS_H
00013 
00014 #include "TObjArray.h"  // needed for streamer i/o
00015 #include "TNamed.h"     
00016 #include "Registry/Registry.h"
00017 #include "Record/RecJobHistory.h" // data member
00018 
00019 class RecMinosHdr;
00020 class VldContext;
00021 
00022 class RecMinos : public TNamed {
00023 
00024  public:
00025 
00026    RecMinos();                        // necessary for streamer io
00027    RecMinos(RecMinosHdr* header);     // basic ctor
00028    virtual ~RecMinos();
00029 
00030    virtual void  AdoptComponent(TObject* component);
00031    virtual void  AdoptTemporary(TObject* temporary);
00032 
00033    virtual const TObject*      FindComponent(const char *classname = 0,
00034                                      const char *objname = 0) const;
00035    virtual const TObject*      FindTemporary(const char *classname = 0,
00036                                      const char *objname = 0) const;
00037 
00038    virtual const RecMinosHdr*  GetHeader() const;
00039    virtual const VldContext*   GetVldContext() const;
00040    virtual const TObjArray&    GetComponents() const;
00041    virtual       TObjArray&    GetTemporaries();
00042    virtual       Registry&     GetTempTags();
00043    virtual const Registry&     GetTempTags() const;
00044    virtual bool  IsPersistedToOutputStream(const char* stream="",
00045                  const char* file="",const char* tree="",int index=-1) const; 
00046    virtual bool  IsTransient() const;
00047    virtual const RecJobHistory& GetJobHistory() const { return fJobHistory; }
00048        
00049    virtual void                Print(Option_t *option="") const;
00050 
00051    // State changing methods
00052    virtual void  HasBeenModified(); 
00053    virtual void  PersistedToOutputStream(const char* stream,
00054                  const char* file, const char* tree, int index); 
00055    virtual void  SetTransient(bool isTransient = true);
00056 
00057  protected:
00058 
00059    virtual TObject*   RemoveComponent(TObject* component);
00060    virtual TObject*   RemoveTemporary(TObject* temporary);
00061    
00062    RecMinosHdr*       fHeader;       // header base class
00063    TObjArray          fComponents;   // raw/truth blocks, candidates, ...
00064    RecJobHistory      fJobHistory;   // info about jobs used to create/fill rec
00065    TObjArray          fTemporaries;  
00066    Registry           fTempTags;     
00067    
00068  private:
00069 
00070    ClassDef(RecMinos,2)
00071 };
00072 
00073 inline const RecMinosHdr* RecMinos::GetHeader() const {return fHeader; }
00074 inline const TObjArray&  RecMinos::GetComponents() const {return fComponents; }
00075 inline TObjArray&  RecMinos::GetTemporaries() {return fTemporaries; }
00076 inline Registry& RecMinos::GetTempTags() { return fTempTags; }
00077 inline const Registry& RecMinos::GetTempTags() const { return fTempTags; }
00078 
00079 #endif // RECMINOS_H

Generated on Mon Feb 15 11:07:30 2010 for loon by  doxygen 1.3.9.1