#ifndef TBasicHeaderModule_hxx_seen #define TBasicHeaderModule_hxx_seen #include #include #include #include #include #include "IG4PrimaryParticle.hxx" #include "IAnalysisHeaderModuleBase.hxx" #include "IGeomInfo.hxx" namespace COMET { class IBasicHeaderModule; }; /// An analysis module which carries some very simple event-level header /// information. It just contains the RunID, EventNumber, and a TRef reference /// back to the original event file. The latter does not work at this time. class COMET::IBasicHeaderModule : public IAnalysisHeaderModuleBase { public: IBasicHeaderModule(const char *name = "BasicHeader", const char *title = "Basic Header Module"); virtual ~IBasicHeaderModule(); virtual Bool_t IsEnabledByDefault() const {return kTRUE;} /// Is meant to reference back to the original file /// [FIXME] The EventTRef does not currently work TRef* GetEventTRef(){ return fEventTRef; } UInt_t GetEventTime() { return fEventTime; } virtual Bool_t ProcessFirstEvent(COMET::ICOMETEvent&); Bool_t P0DWaterStatus(); Bool_t Configure(std::string&); protected: virtual void InitializeBranches(); virtual bool FillTree(COMET::ICOMETEvent&); public: ///Tree Entries ///reference back to the original file /// [FIXME] fEventTRef does not currently work TRef* fEventTRef; //! UInt_t fEventTime; //! ULong64_t fTriggerWord; //! Bool_t fFGDCosmicEvent; //! Bool_t fTripTCosmicEvent; //! ULong64_t fCTMTriggerPattern[3]; //! Int_t fTripTCosmicTriggerType; //! Int_t fTripTCosmicTriggerUpward; //! Double_t fCosmicPrescaleWeight; //! Int_t fSpill; //! Int_t fPartition; //! Int_t fTimeStamp; //! Bool_t fIsDetector; //! Bool_t fIsMC; //! Bool_t fP0DWaterStatus; //! UInt_t fGeometryHash[5]; //! UInt_t fAlignmentId[5]; //! /// MC intensity, which defaults to 0 if unavailable Float_t fMCIntensity; //! Char_t fSoftwareVersion[50]; private: bool fSoftware; ClassDef(IBasicHeaderModule,1); }; #endif