//////////////////////////////////////////////////////////////////// /// \class RAT::DataCleaningProc /// /// \brief Base class for data cleaning processors /// /// \author Richie Bonventre /// \Contact Eric Marzec /// /// REVISION HISTORY:\n /// 19 July 2011 : Richie Bonventre - first version /// 13 Nov 2014 : Eric Marzec - Made myself contact person. /// /// \details This is the base class for all data cleaning /// cuts and contains the code for writing out the DAMN bank /// like datacleaning records, as well as updating the word /// in the EV branch. /// /// /// /// //////////////////////////////////////////////////////////////////// #ifndef __RAT_DataCleaningProc__ #define __RAT_DataCleaningProc__ #include #include #include namespace RAT { namespace DS { class EV; } class DataCleaningProc : public Processor { public: DataCleaningProc(std::string _name, int _version); virtual ~DataCleaningProc(){}; // sets the data cleaning word in the event // structure and possibly in the database virtual void UpdateMask(DS::EV& ev); static void SetVerbose(int verbose){fVerbose = verbose;}; static void SetProcessPass(int processPass){fProcessPass = processPass;}; std::string GetName(){return fName;}; int GetCodeVersion(){return fCodeVersion;}; int GetDBVersion(){return fDBVersion;}; protected: static int fVerbose; static int fProcessPass; DBLinkPtr fLClean; bool fPassFlag; int fBit; std::string fName; int fCodeVersion; int fDBVersion; }; } // namespace RAT #endif