CMS 3D CMS Logo

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

#include <DDDCmsTrackerContruction.h>

Public Member Functions

const GeometricDetconstruct (const DDCompactView *cpv, std::vector< int > detidShifts)
 
 DDDCmsTrackerContruction (void)
 

Protected Attributes

std::string attribute
 
CmsTrackerStringToEnum theCmsTrackerStringToEnum
 

Detailed Description

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

Definition at line 17 of file DDDCmsTrackerContruction.h.

Constructor & Destructor Documentation

DDDCmsTrackerContruction::DDDCmsTrackerContruction ( void  )

Definition at line 11 of file DDDCmsTrackerContruction.cc.

12 {}

Member Function Documentation

const GeometricDet * DDDCmsTrackerContruction::construct ( const DDCompactView cpv,
std::vector< int >  detidShifts 
)

Definition at line 15 of file DDDCmsTrackerContruction.cc.

References DDFilteredView::addFilter(), CmsTrackerLevelBuilder::build(), CmsTrackerDetIdBuilder::buildId(), Exception, ALCARECOTkAlBeamHalo_cff::filter, DDFilteredView::firstChild(), ExtractStringFromDDD::getString(), not_equals, DDFilteredView::parent(), DDSpecificsFilter::setCriteria(), AlCaHLTBitMon_QueryRunRegistry::string, GeometricDet::Tracker, and mixOne_simraw_on_sim_cfi::tracker.

Referenced by TrackerGeometricDetESModule::produce().

16 {
17  attribute = "TkDDDStructure"; // could come from .orcarc
18  std::string value = "any";
20  DDValue ddv( attribute, value, 0 );
21  filter.setCriteria( ddv, DDCompOp::not_equals );
22 
23  DDFilteredView fv( *cpv );
24  fv.addFilter( filter );
26  {
27  fv.firstChild();
29  {
30  throw cms::Exception( "Configuration" ) << " The first child of the DDFilteredView is not what is expected \n"
31  << ExtractStringFromDDD::getString( attribute, &fv ) << "\n";
32  }
33  }
34 
36  CmsTrackerBuilder theCmsTrackerBuilder;
37  theCmsTrackerBuilder.build( fv, tracker, attribute );
38 
39  CmsTrackerDetIdBuilder theCmsTrackerDetIdBuilder( detidShifts );
40 
41  tracker = theCmsTrackerDetIdBuilder.buildId( tracker );
42  fv.parent();
43  //
44  // set the Tracker
45  //
46  //TrackerMapDDDtoID::instance().setTracker(tracker);
47  //NOTE: If it is decided that the TrackerMapDDDtoID should be
48  // constructed here, then we should return from this
49  // function so that the EventSetup can manage it
50 
51  return tracker;
52 }
static std::string getString(std::string const &, DDFilteredView *)
virtual void build(DDFilteredView &, GeometricDet *, std::string)
CmsTrackerStringToEnum theCmsTrackerStringToEnum
Definition: value.py:1
void setCriteria(const DDValue &nameVal, DDCompOp, DDLogOp l=DDLogOp::AND, bool asString=true, bool merged=true)
Definition: DDFilter.cc:253
GeometricDet::GeometricEnumType type(std::string const &) const
The DDGenericFilter is a runtime-parametrized Filter looking on DDSpecifcs.
Definition: DDFilter.h:33

Member Data Documentation

std::string DDDCmsTrackerContruction::attribute
protected

Definition at line 25 of file DDDCmsTrackerContruction.h.

CmsTrackerStringToEnum DDDCmsTrackerContruction::theCmsTrackerStringToEnum
protected

Definition at line 26 of file DDDCmsTrackerContruction.h.