/// /// For questions or suggestions about this module please contact the /// current responsible and CC in the oaAnalysis package manager. /// /// 25-Oct-2010: Current responsible for this module is, /// Daniel Roberge (droberge [*a*t*] triumf.ca) /// #ifndef _TGeometrySummaryModule_hxx_seen #define _TGeometrySummaryModule_hxx_seen #include "IAnalysisHeaderModuleBase.hxx" #include #include #include #include namespace COMET { class IGeometrySummaryModule; } class COMET::IGeometrySummaryModule : public IAnalysisHeaderModuleBase { public: class IDetectorBoundingBox : public TObject { public: virtual ~IDetectorBoundingBox(); TVector3 Minimum; TVector3 Maximum; ClassDef(IGeometrySummaryModule::IDetectorBoundingBox, 1); }; class ITPCMicroMegasVolumes : public TObject { public: virtual ~ITPCMicroMegasVolumes(); std::map > MMvolumes; ClassDef(IGeometrySummaryModule::ITPCMicroMegasVolumes, 1); }; public: IGeometrySummaryModule(const char *name = "GeometrySummary", const char *title = "Geometry Information Summary Module"); virtual ~IGeometrySummaryModule(); virtual Bool_t ProcessFirstEvent(COMET::ICOMETEvent &event); protected: virtual void InitializeBranches(); virtual bool FillTree(COMET::ICOMETEvent &); void FillBBox(COMET::IGeometryId id, IDetectorBoundingBox *box); virtual Bool_t IsEnabledByDefault() const { return kTRUE;} public: IDetectorBoundingBox *fFGD1, *fFGD2, *fP0D; IDetectorBoundingBox *fFGD1Active, *fFGD2Active, *fP0DActive; IDetectorBoundingBox *fTPC1, *fTPC2, *fTPC3, *fDSECAL; IDetectorBoundingBox *fTECAL1, *fTECAL2, *fTECAL3, *fTECAL4, *fTECAL5, *fTECAL6; IDetectorBoundingBox *fPECAL1, *fPECAL2, *fPECAL3, *fPECAL4, *fPECAL5, *fPECAL6; IDetectorBoundingBox *fSMRD1, *fSMRD2, *fSMRD3, *fSMRD4; ITPCMicroMegasVolumes *fMM; std::map > MMmap; private: ClassDef(IGeometrySummaryModule, 3); }; #endif