38 descriptions.
add(
"mtdTopology", ttc);
47 return std::make_unique<MTDTopology>(mtdTopologyMode, etlVals);
61 for (
size_t it = 3; it <= 9; it++) {
62 if (ptp.
vitems_[it].vpars_.size() != ptp.
vitems_[2].vpars_.size()) {
63 throw cms::Exception(
"MTDTopologyEP") <<
"Inconsistent size of ETL structure arrays";
79 etlVals.emplace_back(tmpFace);
91 etlVals.emplace_back(tmpFace);
94 edm::LogVerbatim(
"MTDTopologyEP") <<
" Topology mode = " << mtdTopologyMode <<
"\n";
95 auto print_array = [&](std::vector<int>
vector) {
97 for (
auto const& elem :
vector) {
104 for (
auto const& ilay : etlVals) {
105 edm::LogVerbatim(
"MTDTopologyEP") <<
" disc face = " << ilay.idDiscSide_ <<
" start det type = " << ilay.idDetType1_
106 <<
"\n start_copy[0]= " << print_array(ilay.start_copy_[0])
107 <<
"\n start_copy[1]= " << print_array(ilay.start_copy_[1])
108 <<
"\n offset[0]= " << print_array(ilay.offset_[0])
109 <<
"\n offset[1]= " << print_array(ilay.offset_[1]);
Log< level::Info, true > LogVerbatim
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
MTDTopologyEP(const edm::ParameterSet &)
std::vector< Item > vitems_
std::vector< ETLfaceLayout > ETLValues
const edm::ESGetToken< PMTDParameters, PMTDParametersRcd > token_
std::array< std::vector< int >, 2 > start_copy_
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
std::array< std::vector< int >, 2 > offset_
ReturnType produce(const MTDTopologyRcd &)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::unique_ptr< MTDTopology > ReturnType
void fillParameters(const PMTDParameters &, int &mtdTopologyMode, MTDTopology::ETLValues &)