CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
CmsTrackerBuilder Class Reference

#include <CmsTrackerBuilder.h>

Inheritance diagram for CmsTrackerBuilder:
CmsTrackerLevelBuilder CmsTrackerAbstractConstruction

Public Member Functions

 CmsTrackerBuilder (unsigned int totalBlade)
 
- Public Member Functions inherited from CmsTrackerLevelBuilder
virtual void build (DDFilteredView &, GeometricDet *, std::string)
 
virtual ~CmsTrackerLevelBuilder ()
 

Private Member Functions

virtual void buildComponent (DDFilteredView &, GeometricDet *, std::string)
 
virtual void sortNS (DDFilteredView &, GeometricDet *)
 

Private Attributes

unsigned int m_totalBlade
 

Additional Inherited Members

- Protected Attributes inherited from CmsTrackerLevelBuilder
CmsTrackerStringToEnum theCmsTrackerStringToEnum
 

Detailed Description

Abstract Class to construct a Level in the hierarchy

Definition at line 11 of file CmsTrackerBuilder.h.

Constructor & Destructor Documentation

CmsTrackerBuilder::CmsTrackerBuilder ( unsigned int  totalBlade)

Definition at line 12 of file CmsTrackerBuilder.cc.

13  : m_totalBlade( totalBlade )
14 {}
unsigned int m_totalBlade

Member Function Documentation

void CmsTrackerBuilder::buildComponent ( DDFilteredView fv,
GeometricDet g,
std::string  s 
)
privatevirtual

Implements CmsTrackerLevelBuilder.

Definition at line 17 of file CmsTrackerBuilder.cc.

References GeometricDet::addComponent(), CmsTrackerLevelBuilder::build(), ExtractStringFromDDD::getString(), m_totalBlade, GeometricDet::PixelBarrel, GeometricDet::PixelEndCap, GeometricDet::TEC, CmsTrackerLevelBuilder::theCmsTrackerStringToEnum, GeometricDet::TIB, GeometricDet::TID, GeometricDet::TOB, and CmsTrackerStringToEnum::type().

18 {
19  CmsTrackerSubStrctBuilder theCmsTrackerSubStrctBuilder( m_totalBlade );
20 
23  {
25  theCmsTrackerSubStrctBuilder.build( fv, subdet, s );
26  break;
28  theCmsTrackerSubStrctBuilder.build( fv, subdet, s );
29  break;
30  case GeometricDet::TIB:
31  theCmsTrackerSubStrctBuilder.build( fv, subdet, s );
32  break;
33  case GeometricDet::TOB:
34  theCmsTrackerSubStrctBuilder.build( fv, subdet, s );
35  break;
36  case GeometricDet::TEC:
37  theCmsTrackerSubStrctBuilder.build( fv, subdet, s );
38  break;
39  case GeometricDet::TID:
40  theCmsTrackerSubStrctBuilder.build( fv, subdet, s );
41  break;
42  default:
43  edm::LogError( "CmsTrackerBuilder" ) << " ERROR - I was expecting a SubDet, I got a " << ExtractStringFromDDD::getString( s, &fv );
44  }
45 
46  g->addComponent( subdet );
47 }
static std::string getString(std::string const &, DDFilteredView *)
void addComponent(GeometricDet *)
unsigned int m_totalBlade
GeometricDet::GeometricEnumType type(std::string const &) const
CmsTrackerStringToEnum theCmsTrackerStringToEnum
void CmsTrackerBuilder::sortNS ( DDFilteredView fv,
GeometricDet det 
)
privatevirtual

Reimplemented from CmsTrackerLevelBuilder.

Definition at line 50 of file CmsTrackerBuilder.cc.

References AlCaHLTBitMon_QueryRunRegistry::comp, GeometricDet::component(), GeometricDet::components(), i, GeometricDet::setGeographicalID(), and groupFilesInBlocks::temp.

51 {
53  std::stable_sort( comp.begin(), comp.end(), subDetByType());
54 
55  for( uint32_t i = 0; i < comp.size(); i++ )
56  {
57  uint32_t temp= comp[i]->type();
58  det->component(i)->setGeographicalID(temp);
59  }
60 }
int i
Definition: DBlmapReader.cc:9
void setGeographicalID(DetId id)
Definition: GeometricDet.h:75
ConstGeometricDetContainer & components()
Definition: GeometricDet.h:169
GeometricDet * component(size_t index)
Definition: GeometricDet.h:107
std::vector< GeometricDet const * > ConstGeometricDetContainer
Definition: GeometricDet.h:36

Member Data Documentation

unsigned int CmsTrackerBuilder::m_totalBlade
private

Definition at line 17 of file CmsTrackerBuilder.h.

Referenced by buildComponent().