00001 #ifndef RPCVHDLConeMaker_h
00002 #define RPCVHDLConeMaker_h
00003
00004
00005
00006
00007
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <memory>
00025 #include <fstream>
00026 #include <string>
00027
00028
00029 #include "FWCore/Framework/interface/Frameworkfwd.h"
00030 #include "FWCore/Framework/interface/EDAnalyzer.h"
00031 #include "FWCore/Framework/interface/Event.h"
00032 #include "FWCore/Framework/interface/MakerMacros.h"
00033 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00034
00035
00036 #include "L1Trigger/RPCTrigger/interface/RPCTriggerGeo.h"
00037
00038
00039
00040
00041 class RPCVHDLConeMaker : public edm::EDAnalyzer {
00042 public:
00043 explicit RPCVHDLConeMaker(const edm::ParameterSet&);
00044 ~RPCVHDLConeMaker();
00045
00046
00047 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00048 private:
00049
00050 void initRPCLinks(const edm::EventSetup& iSetup);
00051 void writeLogCones(int towMin, int towMax, int secMin, int secMax,
00052 const edm::EventSetup& iSetup);
00053 void writeHeader(int aTower, int aSector, std::ofstream & out);
00054 void writeConesDef(int iTower, int aSector, std::ofstream & out, const edm::EventSetup& iSetup);
00055 void writeQualityDef(std::ofstream & out);
00056 void writePatternsDef(std::ofstream & out);
00057 void writeSorterDef(std::ofstream & out);
00058 void writeXMLPatternsDef(std::ofstream & out);
00059 int getDCCNumber(int iTower, int iSec);
00060
00061
00062 bool RPCLinksDone;
00063 RPCTriggerGeo theLinksystem;
00064 RPCRingFromRolls::RPCLinks aLinks;
00065
00066 int minTower, maxTower;
00067 int minSector, maxSector;
00068 std::string patternsPath, conesPath;
00069
00070 };
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080 #endif