CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiStripPsuDetIdMap.h
Go to the documentation of this file.
1 #ifndef SISTRIPPSUDETIDMAP_H
2 #define SISTRIPPSUDETIDMAP_H
3 
4 #include <memory>
11 
15 #include "DeviceFactory.h"
16 
17 #include "boost/cstdint.hpp"
18 #include <vector>
19 #include <string>
20 #include <iostream>
21 #include <fstream>
22 #include <sstream>
23 #include <ostream>
24 
25 class SiStripConfigDb;
26 
34 {
35  public:
40 
41  std::vector<uint32_t> getLvDetID(std::string pvss);
42  std::vector<uint32_t> getHvDetID(std::string pvss);
43 
45  std::vector<uint32_t> getDetID(std::string pvss);
47  std::string getPSUName(uint32_t detid);
49  std::string getPSUName(uint32_t detid, std::string group);
51  std::string getDetectorLocation(uint32_t detid);
53  std::string getDetectorLocation(std::string pvss);
55  std::string getDetectorLocation(uint32_t detid, std::string group);
57  uint32_t getDcuId(std::string pvss);
59  uint32_t getDcuId(uint32_t detid);
60 
62  std::vector< std::pair<uint32_t, std::string> > getPsuDetIdMap() {return pgMap;}
64  std::vector<std::string> getDetectorLocations() {return detectorLocations;}
66  std::vector<uint32_t> getDcuIds() {return dcuIds;}
68  std::vector< std::pair<uint32_t, std::string> > getControlPsuDetIdMap() {return cgMap;}
70  std::vector<std::string> getControlDetectorLocations() {return controlLocations;}
72  std::vector<uint32_t> getCgDcuIds() {return cgDcuIds;}
74  std::vector<uint32_t> getCcuDcuIds() {return ccuDcuIds;}
75 
77  void printMap();
79  void printControlMap();
81  void BuildMap();
82 
87  void BuildMap( const std::string & mapFile );
89  void BuildMap( const std::string & mapFile, std::vector< std::pair<uint32_t, std::string> > & map );
90 
92  std::vector< std::pair<uint32_t, std::string> > getDcuPsuMap();
94  int IsHVChannel(std::string pvss);
95 
96  private:
97  // typedefs
98  typedef std::vector<TkDcuPsuMap *> DcuPsuVector ;
99  typedef std::vector< std::pair<uint32_t, std::string> > PsuDetIdMap;
103  void getDcuPsuMap(DcuPsusRange &pRange, DcuPsusRange &cRange, std::string partition);
105  // std::vector< std::pair<uint32_t, SiStripConfigDb::DeviceAddress> > retrieveDcuDeviceAddresses(std::string partition);
106  std::vector< std::pair< std::vector<uint16_t> , std::vector<uint32_t> > > retrieveDcuDeviceAddresses(std::string partition);
108  std::vector<uint32_t> findDcuIdFromDeviceAddress(uint32_t dcuid_);
112  // for debugging
114 
115  // member variables
118  std::vector<std::string> detectorLocations, controlLocations;
119  std::vector<uint32_t> dcuIds, cgDcuIds, ccuDcuIds;
121  // std::vector< std::pair<uint32_t, SiStripConfigDb::DeviceAddress> > dcu_device_addr_vector;
122  std::vector< std::pair< std::vector<uint16_t> , std::vector<uint32_t> > > dcu_device_addr_vector;
123 };
124 #endif
void clone(DcuPsuVector &input, DcuPsuVector &output)
std::vector< std::pair< uint32_t, std::string > > getPsuDetIdMap()
std::vector< std::string > getDetectorLocations()
std::vector< uint32_t > getCcuDcuIds()
std::vector< std::pair< std::vector< uint16_t >, std::vector< uint32_t > > > dcu_device_addr_vector
std::vector< uint32_t > ccuDcuIds
std::string getPSUName(uint32_t detid)
edm::MapOfVectors< std::string, TkDcuPsuMap * > DcuPsus
std::vector< uint32_t > getDetID(std::string pvss)
std::vector< std::pair< std::vector< uint16_t >, std::vector< uint32_t > > > retrieveDcuDeviceAddresses(std::string partition)
Extension to SiStripConfigDb to map PSU channels to DetIDs using DCU-PSU map and DCU-DetID map...
DcuPsus::range DcuPsusRange
std::vector< std::pair< uint32_t, std::string > > PsuDetIdMap
dictionary map
Definition: Association.py:160
std::vector< uint32_t > cgDcuIds
std::vector< uint32_t > getHvDetID(std::string pvss)
edm::Service< SiStripConfigDb > db_
int IsHVChannel(std::string pvss)
std::vector< uint32_t > dcuIds
An interface class to the DeviceFactory.
std::vector< uint32_t > getDcuIds()
std::vector< std::pair< uint32_t, std::string > > getDcuPsuMap()
std::vector< uint32_t > findDcuIdFromDeviceAddress(uint32_t dcuid_)
tuple input
Definition: collect_tpl.py:10
std::vector< std::string > controlLocations
std::vector< DcuDetId > DcuDetIdsV
std::vector< std::string > detectorLocations
std::vector< std::pair< uint32_t, std::string > > getControlPsuDetIdMap()
std::vector< uint32_t > getCgDcuIds()
uint32_t getDcuId(std::string pvss)
std::vector< TkDcuPsuMap * > DcuPsuVector
void checkMapInputValues(SiStripConfigDb::DcuDetIdsV dcuDetIds_, DcuPsuVector dcuPsus_)
boost::iterator_range< data_iterator > range
Definition: MapOfVectors.h:32
std::vector< uint32_t > getLvDetID(std::string pvss)
std::string getDetectorLocation(uint32_t detid)
std::vector< std::string > getControlDetectorLocations()