#ifndef analysis_IValidationAnalyzer_hxx #define analysis_IValidationAnalyzer_hxx #include "IHistogram.hxx" #include "IMultiHist.hxx" #include "IParticleTag.hxx" #include #include #include #include #include #include namespace COMET{ class IValidationAnalyzer; } class COMET::IValidationAnalyzer: public COMET::IVAnalyzer{ public: IValidationAnalyzer():COMET::IVAnalyzer("IValidationAnalyzer"){} virtual ~IValidationAnalyzer(){} virtual bool Analyze(const IHandle data); static std::string GetTargetDatumClass(){return "COMET::IG4TrajectoryContainer"; } protected: virtual bool SetupHistograms(); virtual bool AnalyzeContainer( const IG4TrajectoryContainer& trajectories); private: COMET::IMultiHist* hPositionX; COMET::IMultiHist* hUnresPosX; COMET::IMultiHist* hPositionY; COMET::IMultiHist* hPositionZ; COMET::IMultiHist* hMomentumX; COMET::IMultiHist* hMomentumY; COMET::IMultiHist* hMomentumZ; COMET::IMultiHist* hMomentum; COMET::IMultiHist* hPosition3D; COMET::IMultiHist* hPosition2D; COMET::IMultiHist* hTime; COMET::IMultiHist* hStartTime; COMET::IMultiHist* hPhi; COMET::IMultiHist* hTheta; COMET::IParticleTag fStoppedTag; }; #endif // analysis_IValidationAnalyzer_hxx