CMS 3D CMS Logo

PixelPortcardMap.h
Go to the documentation of this file.
1 #ifndef PixelPortcardMap_h
2 #define PixelPortcardMap_h
3 
11 #include <string>
12 #include <vector>
13 #include <map>
14 #include <set>
20 namespace pos{
32  {
33  public:
34 
36 
37  PixelPortcardMap(std::vector< std::vector < std::string> > &tableMat);
38 
39  virtual ~PixelPortcardMap();
40 
41  // Get the port card and AOH associated with this module. If the module has one(two) channels, this vector contains one(two) element(s).
42  const std::set< std::pair< std::string, int > > PortCardAndAOHs(const PixelModuleName& aModule) const;
43  // portcardname, aoh #
44 
45  const std::set< std::string > portcards(const PixelModuleName& aModule) const;
46 
47  int numChannels(const PixelModuleName& aModule) {return PortCardAndAOHs(aModule).size();}
48 
49  const std::pair< std::string, int > PortCardAndAOH(const PixelModuleName& aModule, const std::string& TBMChannel) const;
50  const std::pair< std::string, int > PortCardAndAOH(const PixelModuleName& aModule, const PixelTBMChannel& TBMChannel) const;
51  const std::pair< std::string, int > PortCardAndAOH(const PixelChannel& aChannel) const;
52 
53  // set of all modules attached to a port card
54  std::set< PixelModuleName > modules(std::string portCardName) const;
55 
56  // all port cards in the map
57  std::set< std::string > portcards(const PixelDetectorConfig* detconfig=0);
58 
59  // Added by Dario for Debbie (the PixelPortcardMap::portcards is way to slow for the interactive tool)
60  bool getName(std::string moduleName, std::string &portcardName) ;
61 
62  virtual void writeASCII(std::string dir) const;
64  virtual void writeXMLHeader( pos::PixelConfigKey key,
65  int version,
67  std::ofstream *out,
68  std::ofstream *out1 = NULL,
69  std::ofstream *out2 = NULL
70  ) const ;
71  virtual void writeXML( std::ofstream *out,
72  std::ofstream *out1 = NULL ,
73  std::ofstream *out2 = NULL ) const ;
74  virtual void writeXMLTrailer( std::ofstream *out,
75  std::ofstream *out1 = NULL,
76  std::ofstream *out2 = NULL
77  ) const ;
78 
79  private:
80  // portcardname, AOH #
81  std::map< PixelChannel, std::pair<std::string, int> > map_;
82 
83  };
84 }
85 /* @} */
86 #endif
This class specifies which detector components are used in the configuration (and eventually should s...
This file contains the base class for "pixel configuration data" management.
Simple class to hold either "A" or "B" for the TBM channel.
#define NULL
Definition: scimark2.h:8
PixelPortcardMap(std::string filename)
This class implements...
This class implements..
std::set< PixelModuleName > modules(std::string portCardName) const
std::string moduleName(Provenance const &provenance)
Definition: Provenance.cc:27
This file contains the base class for "pixel configuration data" management.
virtual void writeASCII(std::string dir) const
This is the documentation about PixelDetectorConfig...
virtual void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=NULL, std::ofstream *out2=NULL) const
const std::pair< std::string, int > PortCardAndAOH(const PixelModuleName &aModule, const std::string &TBMChannel) const
This class implements..
void writeXML(pos::PixelConfigKey key, int version, std::string path) const
virtual void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=NULL, std::ofstream *out2=NULL) const
const std::set< std::pair< std::string, int > > PortCardAndAOHs(const PixelModuleName &aModule) const
This class implements..
const std::set< std::string > portcards(const PixelModuleName &aModule) const
Simple class to hold either "A" or "B" for the TBM channel.
int numChannels(const PixelModuleName &aModule)
dbl *** dir
Definition: mlp_gen.cc:35
std::map< PixelChannel, std::pair< std::string, int > > map_
bool getName(std::string moduleName, std::string &portcardName)