9 template <
class FilteredView>
13 auto det = std::make_unique<GeometricDet>(&fv,
27 template <
class FilteredView>
31 auto det = std::make_unique<GeometricDet>(&fv,
35 if (det->isLowerSensor()) {
38 }
else if (det->isUpperSensor()) {
42 edm::LogError(
"DetConstruction") <<
" module defined in a Stack but not upper either lower!? ";
47 template <
class FilteredView>
51 auto det = std::make_unique<GeometricDet>(&fv,
55 if (det->isFirstSensor()) {
58 }
else if (det->isSecondSensor()) {
62 edm::LogError(
"DetConstruction") <<
" module defined in a 3D module but not first or second sensor!? ";
83 auto det = std::make_unique<GeometricDet>(&fv, myTopologicalType);
90 if (isPhase1ModuleWith2Sensors || isPhase2ModuleWith2Sensors || isPhase2BarrelModuleWith2Sensors) {
92 bool dodets = fv.firstChild();
95 if (isPhase1ModuleWith2Sensors) {
96 buildSmallDetsforGlued(fv, det.get(), attribute);
99 else if (isPhase2ModuleWith2Sensors) {
100 buildSmallDetsforStack(fv, det.get(), attribute);
101 }
else if (isPhase2BarrelModuleWith2Sensors) {
102 buildSmallDetsfor3D(fv, det.get(), attribute);
105 dodets = fv.nextSibling();
133 auto det = std::make_unique<GeometricDet>(&fv, myTopologicalType);
140 if (isPhase1ModuleWith2Sensors || isPhase2ModuleWith2Sensors || isPhase2BarrelModuleWith2Sensors) {
142 if (!fv.firstChild()) {
143 edm::LogError(
"CmsDetConstruction::buildComponent. Cannot go down to sensor volume.");
148 const int sensorHierarchyLevel = fv.level();
151 while (fv.level() == sensorHierarchyLevel) {
153 if (isPhase1ModuleWith2Sensors) {
154 buildSmallDetsforGlued(fv, det.get(), attribute);
157 else if (isPhase2ModuleWith2Sensors) {
158 buildSmallDetsforStack(fv, det.get(), attribute);
159 }
else if (isPhase2BarrelModuleWith2Sensors) {
160 buildSmallDetsfor3D(fv, det.get(), attribute);
void addComponent(GeometricDet *)
void buildSmallDetsforStack(FilteredView &, GeometricDet *, const std::string &)
Log< level::Error, false > LogError
void buildSmallDetsfor3D(FilteredView &, GeometricDet *, const std::string &)
void buildSmallDetsforGlued(FilteredView &, GeometricDet *, const std::string &)
void buildComponent(FilteredView &, GeometricDet *, const std::string &) override