CMS 3D CMS Logo

PixelDACSettings.h
Go to the documentation of this file.
1 #ifndef PixelDACSettings_h
2 #define PixelDACSettings_h
3 
10 //
11 // This class provide a base class for the
12 // pixel ROC dac data for the pixel FEC configuration
13 // This is a pure interface (abstract class) that
14 // needs to have an implementation.
15 //
16 //
17 //
18 
19 #include <vector>
20 #include <string>
27 
28 namespace pos {
61  public:
63  //Added by Umesh
64  PixelDACSettings(std::vector<std::vector<std::string> >& tableMat);
65  // modified by MR on 10-01-2008 14:47:47
67  // modified by MR on 24-01-2008 14:28:14
68  void addROC(PixelROCDACSettings& rocname);
69 
70  PixelROCDACSettings getDACSettings(int ROCId) const;
72 
73  unsigned int numROCs() { return dacsettings_.size(); }
74 
75  //Generate the DAC settings
77  PixelNameTranslation* trans,
78  PixelDetectorConfig* detconfig,
79  bool HVon = true) const;
80  void setVcthrDisable(PixelFECConfigInterface* pixelFEC, PixelNameTranslation* trans) const;
82  PixelNameTranslation* trans,
83  PixelDetectorConfig* detconfig) const;
84 
85  void writeBinary(std::string filename) const;
86 
87  void writeASCII(std::string dir) const override;
88  void writeXML(pos::PixelConfigKey key, int version, std::string path) const override { ; }
90  int version,
92  std::ofstream* out,
93  std::ofstream* out1 = nullptr,
94  std::ofstream* out2 = nullptr) const override;
95  void writeXML(std::ofstream* out, std::ofstream* out1 = nullptr, std::ofstream* out2 = nullptr) const override;
96  void writeXMLTrailer(std::ofstream* out,
97  std::ofstream* out1 = nullptr,
98  std::ofstream* out2 = nullptr) const override;
99 
100  friend std::ostream& operator<<(std::ostream& s, const PixelDACSettings& mask);
101 
102  private:
103  std::vector<PixelROCDACSettings> dacsettings_;
104 
105  bool rocIsDisabled(const PixelDetectorConfig* detconfig, const PixelROCName rocname) const;
106  };
107 } // namespace pos
108 
109 /* @} */
110 #endif
This class specifies which detector components are used in the configuration (and eventually should s...
void addROC(PixelROCDACSettings &rocname)
This file contains the base class for "pixel configuration data" management.
void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
void writeXML(pos::PixelConfigKey key, int version, std::string path) const override
void setVcthrEnable(PixelFECConfigInterface *pixelFEC, PixelNameTranslation *trans, PixelDetectorConfig *detconfig) const
unsigned int numROCs()
This class provides a translation from the naming documents standard to specify the ROC to the corres...
This class provide the data structure for the ROC DAC parameters.
void setVcthrDisable(PixelFECConfigInterface *pixelFEC, PixelNameTranslation *trans) const
PixelROCDACSettings getDACSettings(int ROCId) const
This class is responsible for manipulating the DACsettings of a ROC.
This file contains the base class for "pixel configuration data" management.
This class intends to define an abstract interface for the commands to talk to the PixelFEC...
bool rocIsDisabled(const PixelDetectorConfig *detconfig, const PixelROCName rocname) const
This is the documentation about PixelDetectorConfig...
std::vector< PixelROCDACSettings > dacsettings_
friend std::ostream & operator<<(std::ostream &s, const PixelDACSettings &mask)
void writeBinary(std::string filename) const
PixelDACSettings(std::string filename)
This class implements..
void writeASCII(std::string dir) const override
This is the documentation about PixelNameTranslation...
This class implements..
Definition: PixelROCName.h:23
void generateConfiguration(PixelFECConfigInterface *pixelFEC, PixelNameTranslation *trans, PixelDetectorConfig *detconfig, bool HVon=true) const
This class implements..
void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
This class stores the name and related hardware mappings for a ROC.