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 13 of file DDDCmsTrackerContruction.cc.

14 {}

Member Function Documentation

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

Definition at line 17 of file DDDCmsTrackerContruction.cc.

References CmsTrackerLevelBuilder::build(), CmsTrackerDetIdBuilder::buildId(), Exception, ALCARECOTkAlBeamHalo_cff::filter, DDFilteredView::firstChild(), ExtractStringFromDDD::getString(), eostools::move(), DDFilteredView::parent(), GeometricDet::Tracker, and mixOne_simraw_on_sim_cfi::tracker.

Referenced by TrackerGeometricDetESModule::produce().

18 {
19  attribute = "TkDDDStructure"; // could come from .orcarc
21 
22  DDFilteredView fv( *cpv, filter );
24  {
25  fv.firstChild();
27  {
28  throw cms::Exception( "Configuration" ) << " The first child of the DDFilteredView is not what is expected \n"
29  << ExtractStringFromDDD::getString( attribute, &fv ) << "\n";
30  }
31  }
32 
34  CmsTrackerBuilder theCmsTrackerBuilder;
35  theCmsTrackerBuilder.build( fv, tracker, attribute );
36 
37  CmsTrackerDetIdBuilder theCmsTrackerDetIdBuilder( std::move(detidShifts) );
38 
39  tracker = theCmsTrackerDetIdBuilder.buildId( tracker );
40  fv.parent();
41  //
42  // set the Tracker
43  //
44  //TrackerMapDDDtoID::instance().setTracker(tracker);
45  //NOTE: If it is decided that the TrackerMapDDDtoID should be
46  // constructed here, then we should return from this
47  // function so that the EventSetup can manage it
48 
49  return tracker;
50 }
static std::string getString(std::string const &, DDFilteredView *)
void build(DDFilteredView &, GeometricDet *, std::string) override
CmsTrackerStringToEnum theCmsTrackerStringToEnum
def move(src, dest)
Definition: eostools.py:510
GeometricDet::GeometricEnumType type(std::string const &) const

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.