CMS 3D CMS Logo

SiStripPartition.h
Go to the documentation of this file.
1 
2 #ifndef OnlineDB_SiStripConfigDb_SiStripPartition_h
3 #define OnlineDB_SiStripConfigDb_SiStripPartition_h
4 
7 #include "boost/cstdint.hpp"
8 #include <vector>
9 #include <string>
10 #include <ostream>
11 #include <sstream>
12 
13 class SiStripConfigDb;
14 class SiStripPartition;
15 
17 std::ostream& operator<< ( std::ostream&, const SiStripPartition& );
18 
25 
26  public:
27 
29 
30  SiStripPartition( std::string partition_name );
31 
33 
35 
36  bool operator== ( const SiStripPartition& ) const;
37 
38  bool operator!= ( const SiStripPartition& ) const;
39 
41 
43 
44  typedef std::pair<uint32_t,uint32_t> Versions;
45 
46  void reset();
47 
48  void pset( const edm::ParameterSet& );
49 
50  void update( const SiStripConfigDb* const );
51 
52  void print( std::stringstream&, bool using_db = false ) const;
53 
54  // partition, run and version information
55 
56  std::string partitionName() const;
57 
58  uint32_t runNumber() const;
59 
60  sistrip::RunType runType() const;
61 
62  bool forceVersions() const;
63 
64  bool forceCurrentState() const;
65 
66  // description versions
67 
68  Versions cabVersion() const;
69 
70  Versions fedVersion() const;
71 
72  Versions fecVersion() const;
73 
74  Versions dcuVersion() const;
75 
76  Versions psuVersion() const;
77 
78 //#ifdef USING_DATABASE_MASKING // define anyway, otherwise I get into a mess with includes
79  Versions maskVersion() const;
80 //#endif
81 
82  uint32_t globalAnalysisVersion() const;
83 
84  Versions runTableVersion() const;
85 
86  Versions fastCablingVersion() const;
87 
88  Versions apvTimingVersion() const;
89 
90  Versions optoScanVersion() const;
91 
92  Versions vpspScanVersion() const;
93 
94  Versions apvCalibVersion() const;
95 
96  Versions pedestalsVersion() const;
97 
98  Versions pedsFullNoiseVersion() const;
99 
100  Versions apvLatencyVersion() const;
101 
102  Versions fineDelayVersion() const;
103 
104  // input xml files
105 
106  std::string inputModuleXml() const;
107 
109 
110  std::vector<std::string> inputFecXml() const;
111 
112  std::vector<std::string> inputFedXml() const;
113 
114  // setters
115 
116  void partitionName( std::string );
117 
118  void runNumber( uint32_t );
119 
120  void forceVersions( bool );
121 
122  void forceCurrentState( bool );
123 
124  private:
125 
126  Versions versions( const std::vector<uint32_t>& );
127 
128  private:
129 
131 
132  uint32_t runNumber_;
133 
135 
137 
139 
140  // device description versions
141 
142  Versions cabVersion_;
143 
144  Versions fedVersion_;
145 
146  Versions fecVersion_;
147 
148  Versions dcuVersion_;
149 
150  Versions psuVersion_;
151 
152 //#ifdef USING_DATABASE_MASKING // define anyway, otherwise I get into a mess with includes
153  Versions maskVersion_;
154 //#endif
155 
156  // analysis description versions
157 
159 
161 
162  Versions fastCablingV_;
163 
164  Versions apvTimingV_;
165 
166  Versions optoScanV_;
167 
168  Versions vpspScanV_;
169 
170  Versions apvCalibV_;
171 
172  Versions pedestalsV_;
173 
174  Versions pedsFullNoiseV_;
175 
176  Versions apvLatencyV_;
177 
178  Versions fineDelayV_;
179 
180  // input xml files
181 
183 
185 
186  std::vector<std::string> inputFecXml_;
187 
188  std::vector<std::string> inputFedXml_;
189 
190 };
191 
192 // ---------- Inline methods ----------
193 
195 inline uint32_t SiStripPartition::runNumber() const { return runNumber_; }
197 inline bool SiStripPartition::forceVersions() const { return forceVersions_; }
199 
205 //#ifdef USING_DATABASE_MASKING // define anyway, otherwise I get into a mess with includes
207 //#endif
208 
209 inline uint32_t SiStripPartition::globalAnalysisVersion() const { return globalAnalysisV_; }
220 
223 inline std::vector<std::string> SiStripPartition::inputFecXml() const { return inputFecXml_; }
224 inline std::vector<std::string> SiStripPartition::inputFedXml() const { return inputFedXml_; }
225 
227 inline void SiStripPartition::runNumber( uint32_t run ) { runNumber_ = run; }
230 
231 #endif // OnlineDB_SiStripConfigDb_SiStripPartition_h
sistrip::RunType runType_
static const std::string defaultPartitionName_
Versions maskVersion() const
Versions pedestalsVersion() const
Versions vpspScanVersion() const
Versions fineDelayVersion() const
Versions optoScanVersion() const
std::string partitionName() const
bool operator!=(const SiStripPartition &) const
std::string partitionName_
uint32_t runNumber() const
uint32_t globalAnalysisVersion() const
void print(std::stringstream &, bool using_db=false) const
std::pair< uint32_t, uint32_t > Versions
Versions apvTimingVersion() const
Versions apvLatencyVersion() const
void pset(const edm::ParameterSet &)
Versions versions(const std::vector< uint32_t > &)
An interface class to the DeviceFactory.
std::ostream & operator<<(std::ostream &, const SiStripPartition &)
Container class for database partition parameters.
std::vector< std::string > inputFedXml_
Versions runTableVersion() const
std::vector< std::string > inputFecXml() const
bool forceCurrentState() const
Versions pedsFullNoiseVersion() const
std::string inputDcuInfoXml_
std::string inputModuleXml_
Versions apvCalibVersion() const
std::vector< std::string > inputFecXml_
void update(const SiStripConfigDb *const )
bool operator==(const SiStripPartition &) const
std::vector< std::string > inputFedXml() const
Versions dcuVersion() const
bool forceVersions() const
SiStripPartition & operator=(const SiStripPartition &)
Versions psuVersion() const
sistrip::RunType runType() const
Versions fecVersion() const
Versions cabVersion() const
Versions fedVersion() const
std::string inputDcuInfoXml() const
std::string inputModuleXml() const
Versions fastCablingVersion() const