CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions
CmsDetConstruction< FilteredView > Class Template Reference

#include <CmsDetConstruction.h>

Inheritance diagram for CmsDetConstruction< FilteredView >:
CmsTrackerLevelBuilder< FilteredView > CmsTrackerAbstractConstruction< FilteredView >

Public Member Functions

void buildComponent (FilteredView &, GeometricDet *, const std::string &) override
 
- Public Member Functions inherited from CmsTrackerLevelBuilder< FilteredView >
void build (FilteredView &, GeometricDet *, const std::string &) override
 
 ~CmsTrackerLevelBuilder () override
 
- Public Member Functions inherited from CmsTrackerAbstractConstruction< FilteredView >
virtual ~CmsTrackerAbstractConstruction ()=default
 

Private Member Functions

void buildDets (const FilteredView &, GeometricDet *, const std::string &)
 
void buildSmallDetsforGlued (FilteredView &, GeometricDet *, const std::string &)
 
void buildSmallDetsforStack (FilteredView &, GeometricDet *, const std::string &)
 

Additional Inherited Members

- Protected Attributes inherited from CmsTrackerLevelBuilder< FilteredView >
CmsTrackerStringToEnum theCmsTrackerStringToEnum
 

Detailed Description

template<class FilteredView>
class CmsDetConstruction< FilteredView >

Adds GeometricDets representing final modules to the previous level

Definition at line 12 of file CmsDetConstruction.h.

Member Function Documentation

◆ buildComponent()

template<class FilteredView >
void CmsDetConstruction< FilteredView >::buildComponent ( FilteredView &  fv,
GeometricDet mother,
const std::string &  attribute 
)
overridevirtual

Implements CmsTrackerLevelBuilder< FilteredView >.

Definition at line 50 of file CmsDetConstruction.cc.

52  {
53  //
54  // at this level I check whether it is a merged detector or not
55  //
56 
57  GeometricDet* det = new GeometricDet(&fv,
60 
61  //Phase1 mergedDet: searching for sensors
64  // I have to go one step lower ...
65  bool dodets = fv.firstChild(); // descend to the first Layer
66  while (dodets) {
67  buildSmallDetsforGlued(fv, det, attribute);
68  dodets = fv.nextSibling(); // go to next layer
69  /*
70  Add algo to sort the merged DET
71  */
72  }
73  fv.parent();
74 
75  }
76 
77  //Phase2 stackDet: same procedure, different nomenclature
80  bool dodets = fv.firstChild();
81  while (dodets) {
82  buildSmallDetsforStack(fv, det, attribute);
83  dodets = fv.nextSibling();
84  }
85  fv.parent();
86  }
87 
88  mother->addComponent(det);
89 }

References GeometricDet::addComponent(), GeometricDet::mergedDet, and GeometricDet::OTPhase2Stack.

Referenced by CmsTrackerLadderBuilder< FilteredView >::buildComponent(), CmsTrackerStringBuilder< FilteredView >::buildComponent(), CmsTrackerRodBuilder< FilteredView >::buildComponent(), CmsTrackerRingBuilder< FilteredView >::buildComponent(), CmsTrackerPixelPhase2RingBuilder< FilteredView >::buildComponent(), CmsTrackerPanelBuilder< FilteredView >::buildComponent(), and CmsTrackerOTRingBuilder< FilteredView >::buildComponent().

◆ buildDets()

template<class FilteredView>
void CmsDetConstruction< FilteredView >::buildDets ( const FilteredView &  ,
GeometricDet ,
const std::string &   
)
private

◆ buildSmallDetsforGlued()

template<class FilteredView >
void CmsDetConstruction< FilteredView >::buildSmallDetsforGlued ( FilteredView &  fv,
GeometricDet mother,
const std::string &  attribute 
)
private

Definition at line 8 of file CmsDetConstruction.cc.

10  {
11  GeometricDet* det = new GeometricDet(&fv,
14  static const std::string stereo = "TrackerStereoDetectors";
15 
16  if (ExtractStringFromDDD<FilteredView>::getString(stereo, &fv) == "true") {
17  uint32_t temp = 1;
19  } else {
20  uint32_t temp = 2;
22  }
23 
24  mother->addComponent(det);
25 }

References GeometricDet::addComponent(), GeometricDet::setGeographicalID(), AlCaHLTBitMon_QueryRunRegistry::string, and groupFilesInBlocks::temp.

◆ buildSmallDetsforStack()

template<class FilteredView >
void CmsDetConstruction< FilteredView >::buildSmallDetsforStack ( FilteredView &  fv,
GeometricDet mother,
const std::string &  attribute 
)
private

Definition at line 28 of file CmsDetConstruction.cc.

30  {
31  GeometricDet* det = new GeometricDet(&fv,
34  static const std::string isLower = "TrackerLowerDetectors";
35  static const std::string isUpper = "TrackerUpperDetectors";
36 
37  if (ExtractStringFromDDD<FilteredView>::getString(isLower, &fv) == "true") {
38  uint32_t temp = 1;
40  } else if (ExtractStringFromDDD<FilteredView>::getString(isUpper, &fv) == "true") {
41  uint32_t temp = 2;
43  } else {
44  edm::LogError("DetConstruction") << " module defined in a Stack but not upper either lower!? ";
45  }
46  mother->addComponent(det);
47 }

References GeometricDet::addComponent(), GeometricDet::setGeographicalID(), AlCaHLTBitMon_QueryRunRegistry::string, and groupFilesInBlocks::temp.

CmsTrackerLevelBuilder
Definition: CmsTrackerLevelBuilder.h:31
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
ExtractStringFromDDD
Definition: ExtractStringFromDDD.h:12
CmsDetConstruction::buildSmallDetsforStack
void buildSmallDetsforStack(FilteredView &, GeometricDet *, const std::string &)
Definition: CmsDetConstruction.cc:28
DetId
Definition: DetId.h:17
GeometricDet::mergedDet
Definition: GeometricDet.h:68
GeometricDet::setGeographicalID
void setGeographicalID(DetId id)
Definition: GeometricDet.h:97
GeometricDet
Definition: GeometricDet.h:30
CmsDetConstruction::buildSmallDetsforGlued
void buildSmallDetsforGlued(FilteredView &, GeometricDet *, const std::string &)
Definition: CmsDetConstruction.cc:8
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::LogError
Definition: MessageLogger.h:183
type
type
Definition: HCALResponse.h:21
GeometricDet::OTPhase2Stack
Definition: GeometricDet.h:78
GeometricDet::addComponent
void addComponent(GeometricDet *)
Definition: GeometricDet.cc:210