Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:54

0001 #ifndef LMFPULSEDAT_H
0002 #define LMFPULSEDAT_H
0003 
0004 /*
0005  Last updated by  Giovanni.Organtini@roma1.infn.it 2010
0006  */
0007 
0008 #include "OnlineDB/EcalCondDB/interface/LMFColoredTable.h"
0009 
0010 #include <cmath>
0011 
0012 /**
0013  *   LMF_LASER_XXX_PULSE_DAT interface
0014  *        ^    ^
0015  *        |    |
0016  *        |    \_____ color
0017  *        \---------- system
0018  */
0019 class LMFLaserPulseDat : public LMFColoredTable {
0020 public:
0021   LMFLaserPulseDat();
0022   LMFLaserPulseDat(oracle::occi::Environment *env, oracle::occi::Connection *conn);
0023   LMFLaserPulseDat(EcalDBConnection *c);
0024   LMFLaserPulseDat(std::string color);
0025   LMFLaserPulseDat(int color);
0026   LMFLaserPulseDat(oracle::occi::Environment *env, oracle::occi::Connection *conn, std::string color);
0027   LMFLaserPulseDat(oracle::occi::Environment *env, oracle::occi::Connection *conn, int color);
0028   LMFLaserPulseDat(EcalDBConnection *c, std::string color);
0029   LMFLaserPulseDat(EcalDBConnection *c, int color);
0030   ~LMFLaserPulseDat() override {}
0031 
0032   std::string getTableName() const override { return "LMF_LASER_" + getColor() + "_PULSE_DAT"; }
0033 
0034   LMFLaserPulseDat &setFitMethod(EcalLogicID &id, int v);
0035   LMFLaserPulseDat &setMTQAmplification(EcalLogicID &id, float v);
0036   LMFLaserPulseDat &setMTQTime(EcalLogicID &id, float v);
0037   LMFLaserPulseDat &setMTQRise(EcalLogicID &id, float v);
0038   LMFLaserPulseDat &setMTQFWHM(EcalLogicID &id, float v);
0039   LMFLaserPulseDat &setMTQFW20(EcalLogicID &id, float v);
0040   LMFLaserPulseDat &setMTQFW80(EcalLogicID &id, float v);
0041   LMFLaserPulseDat &setMTQSliding(EcalLogicID &id, float v);
0042 
0043   int getFitMethod(EcalLogicID &id) { return getFitMethod(id.getLogicID()); }
0044   float getMTQAmplification(EcalLogicID &id) { return getMTQAmplification(id.getLogicID()); }
0045   float getMTQTime(EcalLogicID &id) { return getMTQTime(id.getLogicID()); }
0046   float getMTQRise(EcalLogicID &id) { return getMTQRise(id.getLogicID()); }
0047   float getMTQFWHM(EcalLogicID &id) { return getMTQFWHM(id.getLogicID()); }
0048   float getMTQFW20(EcalLogicID &id) { return getMTQFW20(id.getLogicID()); }
0049   float getMTQFW80(EcalLogicID &id) { return getMTQFW80(id.getLogicID()); }
0050   float getMTQSliding(EcalLogicID &id) { return getMTQSliding(id.getLogicID()); }
0051   int getFitMethod(int id);
0052   float getMTQAmplification(int id);
0053   float getMTQTime(int id);
0054   float getMTQRise(int id);
0055   float getMTQFWHM(int id);
0056   float getMTQFW20(int id);
0057   float getMTQFW80(int id);
0058   float getMTQSliding(int id);
0059 
0060   bool isValid() override;
0061   // to do: complete list of set/get methods
0062 
0063 private:
0064   void init();
0065 };
0066 
0067 #endif