Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:14:09

0001 //-------------------------------------------------
0002 //
0003 /**  \class DTConfigBti
0004  *
0005  *   Configurable parameters and constants 
0006  *   for Level-1 Muon DT Trigger - Time Pedestals
0007  *
0008  *   \authors:  C.Battilana, M.Meneghelli
0009  *
0010  */
0011 //
0012 //--------------------------------------------------
0013 #ifndef DT_CONFIG_PEDESTALS_H
0014 #define DT_CONFIG_PEDESTALS_H
0015 
0016 //---------------
0017 // C++ Headers --
0018 //---------------
0019 
0020 //----------------------
0021 // Base Class Headers --
0022 //----------------------
0023 
0024 //------------------------------------
0025 // Collaborating Class Declarations --
0026 //------------------------------------
0027 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfig.h"
0028 #include "CondFormats/DTObjects/interface/DTTPGParameters.h"
0029 #include "CondFormats/DTObjects/interface/DTT0.h"
0030 #include "DataFormats/MuonDetId/interface/DTWireId.h"
0031 
0032 //              ---------------------
0033 //              -- Class Interface --
0034 //              ---------------------
0035 
0036 class DTConfigPedestals : DTConfig {
0037 public:
0038   //! Default Constructor
0039   DTConfigPedestals();
0040 
0041   //! Destructor
0042   ~DTConfigPedestals() override;
0043 
0044   //! Get wire by wire delay
0045   float getOffset(const DTWireId &wire) const;
0046 
0047   //! Set parameters from ES
0048   void setES(DTTPGParameters const *tpgParams, DTT0 const *t0Params = nullptr);
0049 
0050   //! Set t0i subtraction
0051   void setUseT0(bool useT0) { my_useT0 = useT0; }
0052 
0053   //! Set debug flag
0054   void setDebug(bool debug) { my_debug = debug; }
0055 
0056   //! Print the setup
0057   void print() const;
0058 
0059 private:
0060   //! Debug flag
0061   inline int debug() const { return my_debug; }
0062 
0063   //! Use t0i
0064   inline bool useT0() const { return my_useT0; }
0065 
0066 private:
0067   bool my_debug;
0068   bool my_useT0;
0069   DTTPGParameters const *my_tpgParams;
0070   DTT0 const *my_t0i;  // pointed object not owned by this class
0071 };
0072 
0073 #endif