Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:04

0001 #ifndef PROCESSTESTSIGNAL_H
0002 #define PROCESSTESTSIGNAL_H 1
0003 
0004 // Include files
0005 
0006 #include "L1Trigger/RPCTechnicalTrigger/interface/RBCInput.h"
0007 #include "L1Trigger/RPCTechnicalTrigger/interface/RPCInputSignal.h"
0008 #include "L1Trigger/RPCTechnicalTrigger/interface/RPCData.h"
0009 #include "L1Trigger/RPCTechnicalTrigger/interface/ProcessInputSignal.h"
0010 
0011 #include <cstdlib>
0012 #include <iostream>
0013 #include <fstream>
0014 #include <ios>
0015 #include <cmath>
0016 #include <vector>
0017 #include <memory>
0018 
0019 /** @class ProcessTestSignal ProcessTestSignal.h
0020  *  
0021  * 
0022  *
0023  *
0024  *
0025  *  @author Andres Osorio
0026  *  @date   2008-11-14
0027  */
0028 class ProcessTestSignal : public ProcessInputSignal {
0029 public:
0030   explicit ProcessTestSignal(const char*);
0031 
0032   ~ProcessTestSignal() override;  ///< Destructor
0033 
0034   int next() override;
0035 
0036   void rewind();
0037 
0038   void showfirst();
0039 
0040   void reset();
0041 
0042   RPCInputSignal* retrievedata() override { return m_lbin.get(); };
0043 
0044   void mask() {}
0045   void force() {}
0046 
0047 protected:
0048 private:
0049   void builddata();
0050 
0051   std::ifstream m_in;
0052 
0053   std::unique_ptr<RPCInputSignal> m_lbin;
0054 
0055   std::vector<std::unique_ptr<RPCData>> m_vecdata;
0056 
0057   std::map<int, RBCInput*> m_data;
0058 };
0059 #endif  // PROCESSTESTSIGNAL_H