|
|
Go to the documentation of this file.
59 : compactViewTag_(iConfig.getUntrackedParameter<
std::
string>(
"compactViewTag",
"XMLIdealGeometryESSource_CTPPS")) {}
82 throw cms::Exception(
"PPSGeometryBuilder") <<
"PDetGeomDesc is empty, no geometry to save in the database.";
130 item.sensorType_ =
"";
160 const std::vector<int>& copy_num = view->
copyNumbers();
162 if (copy_num.size() < 3)
164 <<
"size of copyNumbers for strip sensor is " << copy_num.size() <<
". It must be >= 3.";
167 const unsigned int decRPId = copy_num[copy_num.size() - 3];
168 const unsigned int arm = decRPId / 100;
169 const unsigned int station = (decRPId % 100) / 10;
170 const unsigned int rp = decRPId % 10;
171 const unsigned int detector = copy_num[copy_num.size() - 1];
177 unsigned int decRPId = view->
copyno();
180 if (decRPId >= 10000) {
181 decRPId = decRPId % 10000;
182 const unsigned int armIdx = (decRPId / 100) % 10;
183 const unsigned int stIdx = (decRPId / 10) % 10;
184 const unsigned int rpIdx = decRPId % 10;
187 const unsigned int armIdx = (decRPId / 100) % 10;
188 const unsigned int stIdx = (decRPId / 10) % 10;
189 const unsigned int rpIdx = decRPId % 10;
195 const std::vector<int>& copy_num = view->
copyNumbers();
197 if (copy_num.size() < 4)
199 <<
"size of copyNumbers for TOTEM timing sensor is " << copy_num.size() <<
". It must be >= 4.";
201 const unsigned int decRPId = copy_num[copy_num.size() - 4];
202 const unsigned int arm = decRPId / 100,
station = (decRPId % 100) / 10, rp = decRPId % 10;
203 const unsigned int plane = copy_num[copy_num.size() - 2], channel = copy_num[copy_num.size() - 1];
214 const std::vector<int>& copy_num = view->
copyNumbers();
216 if (copy_num.size() < 4)
218 <<
"size of copyNumbers for pixel sensor is " << copy_num.size() <<
". It must be >= 4.";
221 const unsigned int decRPId = copy_num[copy_num.size() - 4] % 10000;
222 const unsigned int arm = decRPId / 100;
223 const unsigned int station = (decRPId % 100) / 10;
224 const unsigned int rp = decRPId % 10;
225 const unsigned int detector = copy_num[copy_num.size() - 2] - 1;
231 const std::vector<int>& copy_num = view->
copyNumbers();
233 const unsigned int id = copy_num[copy_num.size() - 1];
234 const unsigned int arm = copy_num[1] - 1;
235 const unsigned int station = 1;
236 const unsigned int rp = 6;
237 const unsigned int plane = (
id / 100);
238 const unsigned int channel =
id % 100;
245 const std::vector<int>& copy_num = view->
copyNumbers();
248 if (copy_num.size() < 2)
250 <<
"size of copyNumbers for diamond RP is " << copy_num.size() <<
". It must be >= 2.";
252 const unsigned int arm = copy_num[1] - 1;
253 const unsigned int station = 1;
254 const unsigned int rp = 6;
edm::ESWatcher< IdealGeometryRecord > watcherIdealGeometry_
void buildPDetGeomDesc(DDFilteredView *, PDetGeomDesc *)
bool check(const edm::EventSetup &iSetup)
PPSGeometryBuilder(const edm::ParameterSet &)
const std::string DDD_CTPPS_UFSD_SEGMENT_NAME
const std::string DDD_CTPPS_PIXELS_SENSOR_NAME
cond::Time_t beginOfTime() const
std::string compactViewTag_
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the filtered-view.
nav_type copyNumbers() const
return the stack of copy numbers
const std::string DDD_CTPPS_PIXELS_RP_NAME
const std::string DDD_TOTEM_TIMING_RP_NAME
bool parent()
set the current node to the parent node ...
const std::string DDD_CTPPS_PIXELS_SENSOR_TYPE_2x2
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
const std::string DDD_CTPPS_DIAMONDS_SEGMENT_NAME
bool firstChild()
set the current node to the first child ...
#define DEFINE_FWK_MODULE(type)
bool nextSibling()
set the current node to the next sibling ...
std::vector< Item > container_
Detector ID class for CTPPS Totem Timing detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bits ...
Detector ID class for CTPPS Timing Diamond detectors. Bits [19:31] : Assigend in CTPPSDetId Calss Bit...
const std::string DDD_CTPPS_DIAMONDS_RP_NAME
const std::string DDD_TOTEM_TIMING_SENSOR_TMPL
const std::string & name() const
Returns the name.
const std::string DDD_TOTEM_RP_RP_NAME
DDD names of RP volumes.
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::Service< cond::service::PoolDBOutputService > dbservice_
A DDFilter that always returns true.
const DDTranslation & translation() const
The absolute translation of the current node.
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
const std::string DDD_TOTEM_RP_SENSOR_NAME
DDD names of sensors.
uint32_t getGeographicalID(DDFilteredView *)
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
Detector ID class for TOTEM Si strip detectors.
int copyno() const
Copy number associated with the current node.