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

RawRecord.h

Go to the documentation of this file.
00001 
00002 // $Id: RawRecord.h,v 1.14 2005/04/29 22:45:31 minoscvs Exp $
00003 //
00004 // RawRecord
00005 //
00006 // RawRecord is the top level object for raw MINOS data from the online
00007 // This is the primary key for I/O of records of data; individual
00008 // CandEventLists are built under this
00009 //
00010 // Author:  R. Hatcher 2000.04.19
00011 //
00013 
00014 #ifndef RAWRECORD_H
00015 #define RAWRECORD_H
00016 
00017 #include "Record/RecMinos.h"
00018 
00019 class RawHeader;
00020 class RawDataBlock;
00021 
00022 class RawRecord : public RecMinos {
00023 
00024  public:
00025 
00026    RawRecord();                        // necessary for streamer io
00027    RawRecord(RawHeader *rh);           // adopt the RawHeader 
00028    virtual ~RawRecord();
00029 
00030    const RawHeader    *GetRawHeader() const;
00031    const RawDataBlock *FindRawBlock(const char *classname = 0,
00032                                     const char *objname =0) const;
00033    const TObjArray    &GetRawBlockList() const;
00034    TIter               GetRawBlockIter(Bool_t dir = kIterForward) const;
00035 
00036    void AdoptRawBlock(RawDataBlock *rawblock);
00037 
00038    virtual void        Print(Option_t *option="") const;
00039 
00040    virtual const char *GetName() const;  // override TNamed version
00041 
00042    static  void        PrintPromotionCount();
00043 
00044  protected:
00045 
00046    // logical const method (though it could potentially change things)
00047    void PromoteRawDataBlocks() const;
00048    mutable bool promotionChecked;  
00049 
00050    void ListBlocks() const;
00051 
00052    // hide this so no direct usage
00053    // one should only be entering RawDataBlock derived objects
00054    virtual void AdoptComponent(TObject* component);
00055 
00056  private:
00057 
00058 ClassDef(RawRecord,1)
00059 };
00060 
00061 inline const TObjArray& RawRecord::GetRawBlockList() const
00062 { PromoteRawDataBlocks(); return RecMinos::GetComponents(); }
00063 
00064 #endif // RAWRECORD_H

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