CMS 3D CMS Logo

PixelTrimBase.h
Go to the documentation of this file.
1 #ifndef PixelTrimBase_h
2 #define PixelTrimBase_h
3 
18 #include <string>
25 
26 namespace pos {
45  class PixelTrimBase : public PixelConfigBase {
46  public:
48 
49  ~PixelTrimBase() override;
50 
51  void setOverride(PixelTrimOverrideBase* trimOverride);
52 
53  //Build the commands needed to configure ROCs
54  //on control link
55 
56  virtual void generateConfiguration(PixelFECConfigInterface* pixelFEC,
57  PixelNameTranslation* trans,
58  const PixelMaskBase& pixelMask) const = 0;
59  virtual void writeBinary(std::string filename) const = 0;
60 
61  void writeASCII(std::string filename) const override = 0;
62  void writeXML(pos::PixelConfigKey key, int version, std::string path) const override { ; }
64  int version,
66  std::ofstream* out,
67  std::ofstream* out1 = nullptr,
68  std::ofstream* out2 = nullptr) const override {
69  ;
70  }
71  void writeXML(std::ofstream* out, std::ofstream* out1 = nullptr, std::ofstream* out2 = nullptr) const override { ; }
72  void writeXMLTrailer(std::ofstream* out,
73  std::ofstream* out1 = nullptr,
74  std::ofstream* out2 = nullptr) const override {
75  ;
76  }
77 
78  virtual PixelROCTrimBits getTrimBits(int ROCId) const = 0;
79 
81 
82  friend std::ostream& operator<<(std::ostream& s, const PixelTrimBase& mask);
83 
84  private:
86  };
87 } // namespace pos
88 /* @} */
89 #endif
void setOverride(PixelTrimOverrideBase *trimOverride)
This file contains the base class for "pixel configuration data" management.
std::string description()
virtual PixelROCTrimBits getTrimBits(int ROCId) const =0
void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
Definition: PixelTrimBase.h:63
constexpr uint32_t mask
Definition: gpuClustering.h:26
This class provides a translation from the naming documents standard to specify the ROC to the corres...
This class intends to define an abstract interface for the commands to talk to the PixelFEC...
PixelTrimOverrideBase * trimOverride_
Definition: PixelTrimBase.h:85
This class implements..
void writeXML(std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
Definition: PixelTrimBase.h:71
This is the documentation about PixelMaskBase...
Definition: PixelMaskBase.h:36
This class implements..
void writeXML(pos::PixelConfigKey key, int version, std::string path) const override
Definition: PixelTrimBase.h:62
~PixelTrimBase() override
std::string date()
virtual void writeBinary(std::string filename) const =0
friend std::ostream & operator<<(std::ostream &s, const PixelTrimBase &mask)
This class provides a base class for the pixel trim data for the pixel FEC configuration.
std::string creator()
This is the documentation about PixelNameTranslation...
This class implements..
Definition: PixelROCName.h:23
This class implements..
This class implements..
Definition: PixelTrimBase.h:45
PixelTrimBase(std::string description, std::string creator, std::string date)
virtual void generateConfiguration(PixelFECConfigInterface *pixelFEC, PixelNameTranslation *trans, const PixelMaskBase &pixelMask) const =0
void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
Definition: PixelTrimBase.h:72
void writeASCII(std::string filename) const override=0
This class stores the name and related hardware mappings for a ROC.