CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AlignableBuilder.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_AlignableBuilder_H
2 #define Alignment_CommonAlignment_AlignableBuilder_H
3 
18 
20 {
21  public:
22 
25 
28  bool flat,
29  unsigned int maxComponent );
30 
32  void buildAll( AlignSetup<align::Alignables>& setup ) const;
33 
34  private:
35 
36  struct LevelInfo
37  {
38  align::StructureType type_; // level type
39  bool flat_; // true if type is a flat surface (rod, string, ladder,...)
40  unsigned int maxComponent_; // max no. of components in this level
41 
43  bool flat,
44  unsigned int maxComponent );
45  };
46 
48  unsigned int maxComponent( unsigned int level ) const;
49 
53  unsigned int index( unsigned int level,
54  align::ID ) const;
55 
57  void build( unsigned int level, align::StructureType dauType,
58  AlignSetup<align::Alignables>& setup ) const;
59 
60  align::StructureType theModuleType; // starting level to build composites
61 
62  std::vector<LevelInfo> theLevelInfos;
63 
65 
66 };
67 
68 #endif
void build(unsigned int level, align::StructureType dauType, AlignSetup< align::Alignables > &setup) const
Build the components for a given level in the hierarchy.
uint32_t ID
Definition: Definitions.h:26
std::vector< LevelInfo > theLevelInfos
unsigned int index(unsigned int level, align::ID) const
void buildAll(AlignSetup< align::Alignables > &setup) const
Build the components for all levels given by user.
AlignableBuilder(align::StructureType moduleType, Counters &counter)
Init the module type.
LevelInfo(align::StructureType, bool flat, unsigned int maxComponent)
void addLevelInfo(align::StructureType, bool flat, unsigned int maxComponent)
Add info required to build a level to the list.
align::StructureType theModuleType
align::StructureType type_
unsigned int maxComponent(unsigned int level) const
Find max number of components for a given level in the hierarchy.
tuple level
Definition: testEve_cfg.py:34