CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
DDDCmsMTDConstruction Class Reference

#include <DDDCmsMTDConstruction.h>

Public Member Functions

const GeometricTimingDetconstruct (const DDCompactView *cpv, std::vector< int > detidShifts)
 
 DDDCmsMTDConstruction (void)
 

Protected Attributes

std::string attribute
 
CmsMTDStringToEnum theCmsMTDStringToEnum
 

Detailed Description

High level class to build a tracker. It will only build subdets, then call subdet builders

Definition at line 17 of file DDDCmsMTDConstruction.h.

Constructor & Destructor Documentation

DDDCmsMTDConstruction::DDDCmsMTDConstruction ( void  )

Definition at line 34 of file DDDCmsMTDConstruction.cc.

35 {}

Member Function Documentation

const GeometricTimingDet * DDDCmsMTDConstruction::construct ( const DDCompactView cpv,
std::vector< int >  detidShifts 
)

Definition at line 38 of file DDDCmsMTDConstruction.cc.

References DDNameFilter::add(), CmsMTDLevelBuilder::build(), Exception, ALCARECOTkAlBeamHalo_cff::filter, cms::DDFilteredView::firstChild(), ExtractStringFromDDD::getString(), GeometricTimingDet::MTD, cms::DDFilteredView::parent(), AlCaHLTBitMon_QueryRunRegistry::string, and DDNameFilter::veto().

Referenced by MTDGeometricTimingDetESModule::produce().

39 {
40  attribute = std::string("CMSCutsRegion");
42  filter.add("mtd:");
43  filter.add("btl:");
44  filter.add("etl:");
45  filter.veto("service");
46  filter.veto("support");
47  filter.veto("FSide");
48  filter.veto("BSide");
49  filter.veto("LSide");
50  filter.veto("RSide");
51  filter.veto("Between");
52  filter.veto("SupportPlate");
53  filter.veto("Shield");
54 
55  DDFilteredView fv( *cpv, filter );
57  if( check_root != GeometricTimingDet::MTD )
58  {
59  fv.firstChild();
61  if( check_child != GeometricTimingDet::MTD )
62  {
63  throw cms::Exception( "Configuration" ) << " The first child of the DDFilteredView is not what is expected \n"
64  << ExtractStringFromDDD::getString( attribute, &fv ) << "\n";
65  }
66  fv.parent();
67  }
68 
70  CmsMTDBuilder theCmsMTDBuilder;
71  theCmsMTDBuilder.build( fv, mtd, attribute );
72 
73  return mtd;
74 }
GeometricTimingDet::GeometricTimingEnumType type(std::string const &) const
CmsMTDStringToEnum theCmsMTDStringToEnum
static std::string getString(std::string const &, DDFilteredView *)
void add(const std::string &add)
void build(DDFilteredView &, GeometricTimingDet *, std::string) override
void veto(const std::string &veto)

Member Data Documentation

std::string DDDCmsMTDConstruction::attribute
protected

Definition at line 25 of file DDDCmsMTDConstruction.h.

CmsMTDStringToEnum DDDCmsMTDConstruction::theCmsMTDStringToEnum
protected

Definition at line 26 of file DDDCmsMTDConstruction.h.