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

EventDataModel/EventHandle.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 #ifndef EDM_EVENTHANDLE_H
00008 #define EDM_EVENTHANDLE_H
00009 #include "EventDataModel/Event.h"
00010 #include "EventDataModel/DataBucket.h"
00011 namespace edm { class EventHeader; }
00012 
00013 namespace edm {
00016   class EventHandle {
00017   public:
00018     EventHandle();
00019     virtual ~EventHandle();
00020     
00021     void Clear();
00022     int  ClearLoadFlags();
00023     void SetLoaded(int branchId) const;
00024     
00025     const EventHeader& Header()  const;
00026     const DataBucket&  MC()      const;
00027     const DataBucket&  DAQ()     const;
00028     const DataBucket&  DetSim()  const;
00029     const DataBucket&  Raw()     const;
00030     const DataBucket&  RawAux()  const;
00031     const DataBucket&  Cal()     const;
00032     const DataBucket&  Reco()    const;
00033     const DataBucket&  User()    const;
00034     const DataBucket&  Summary() const;
00035     
00036     EventHeader& Header();
00037     DataBucket&  MC();
00038     DataBucket&  DetSim();
00039     DataBucket&  DAQ();
00040     DataBucket&  Raw();
00041     DataBucket&  RawAux();
00042     DataBucket&  Cal();
00043     DataBucket&  Reco();
00044     DataBucket&  User();
00045     DataBucket&  Summary();
00046     
00047   protected:
00048     // Define ID codes for the different branches in a file
00049     typedef enum {
00050       kHeaderID,
00051       kMCID,
00052       kDetSimID,
00053       kDAQID,
00054       kRawID,
00055       kRawAuxID,
00056       kCalID,
00057       kRecoID,
00058       kUserID,
00059       kSummaryID,
00060       kNBranch
00061     } BranchID_t;
00062     
00063     DataBucket& Bucket(BranchID_t branchID)   const;
00064     bool        IsLoaded(BranchID_t branchID) const;
00065     virtual int Load(int branchID)            const = 0;
00066     
00067   protected:
00068     int          fObjectCnt;
00069     mutable bool fIsLoaded[kNBranch]; 
00070 
00071     Event*             fEvent;
00072     mutable DataBucket fMC;
00073     mutable DataBucket fDetSim;
00074     mutable DataBucket fDAQ;
00075     mutable DataBucket fRaw;
00076     mutable DataBucket fRawAux;
00077     mutable DataBucket fCal;
00078     mutable DataBucket fReco;
00079     mutable DataBucket fUser;
00080     mutable DataBucket fSummary;
00081   };
00082 }
00083 #endif // EDMEVENTHANDLE
00084 

Generated on Sat Oct 11 02:35:27 2008 for NOvA Offline by  doxygen 1.3.9.1