#include <DDDCmsTrackerContruction.h>
Public Member Functions | |
const GeometricDet * | construct (const DDCompactView *cpv, unsigned int layerNumberPXB, unsigned int totalBlade) |
DDDCmsTrackerContruction (void) | |
Protected Attributes | |
std::string | attribute |
CmsTrackerStringToEnum | theCmsTrackerStringToEnum |
High level class to build a tracker. It will only build subdets, then call subdet builders
Definition at line 16 of file DDDCmsTrackerContruction.h.
DDDCmsTrackerContruction::DDDCmsTrackerContruction | ( | void | ) |
Definition at line 11 of file DDDCmsTrackerContruction.cc.
{}
const GeometricDet * DDDCmsTrackerContruction::construct | ( | const DDCompactView * | cpv, |
unsigned int | layerNumberPXB, | ||
unsigned int | totalBlade | ||
) |
Definition at line 15 of file DDDCmsTrackerContruction.cc.
References DDFilteredView::addFilter(), CmsTrackerLevelBuilder::build(), CmsTrackerDetIdBuilder::buildId(), Exception, alcazmumu_cfi::filter, DDFilteredView::firstChild(), ExtractStringFromDDD::getString(), DDSpecificsFilter::not_equals, DDFilteredView::parent(), DDSpecificsFilter::setCriteria(), AlCaHLTBitMon_QueryRunRegistry::string, patCandidatesForDimuonsSequences_cff::tracker, GeometricDet::Tracker, align::Tracker, and relativeConstraints::value.
Referenced by TrackerGeometricDetESModule::produce().
{ attribute = "TkDDDStructure"; // could come from .orcarc std::string value = "any"; DDSpecificsFilter filter; DDValue ddv( attribute, value, 0 ); filter.setCriteria( ddv, DDSpecificsFilter::not_equals ); DDFilteredView fv( *cpv ); fv.addFilter( filter ); if( theCmsTrackerStringToEnum.type( ExtractStringFromDDD::getString(attribute,&fv)) != GeometricDet::Tracker ) { fv.firstChild(); if( theCmsTrackerStringToEnum.type( ExtractStringFromDDD::getString(attribute,&fv)) != GeometricDet::Tracker ) { throw cms::Exception( "Configuration" ) << " The first child of the DDFilteredView is not what is expected \n" << ExtractStringFromDDD::getString( attribute, &fv ) << "\n"; } } GeometricDet* tracker = new GeometricDet( &fv, GeometricDet::Tracker ); CmsTrackerBuilder theCmsTrackerBuilder( totalBlade ); theCmsTrackerBuilder.build( fv, tracker, attribute ); CmsTrackerDetIdBuilder theCmsTrackerDetIdBuilder( layerNumberPXB ); tracker = theCmsTrackerDetIdBuilder.buildId( tracker ); fv.parent(); // // set the Tracker // //TrackerMapDDDtoID::instance().setTracker(tracker); //NOTE: If it is decided that the TrackerMapDDDtoID should be // constructed here, then we should return from this // function so that the EventSetup can manage it return tracker; }
std::string DDDCmsTrackerContruction::attribute [protected] |
Definition at line 24 of file DDDCmsTrackerContruction.h.
Definition at line 25 of file DDDCmsTrackerContruction.h.