CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AlignmentParameterBuilder.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentParameterBuilder_h
2 #define Alignment_CommonAlignmentAlgorithm_AlignmentParameterBuilder_h
3 
15 
16 namespace edm {
17  class ParameterSet;
18 }
19 class AlignableExtras;
20 class AlignableTracker;
21 class AlignableMuon;
23 class TrackerTopology;
24 
26 {
27 public:
30  AlignableExtras *alignableExtras );
31 
33  AlignmentParameterBuilder( AlignableTracker *alignableTracker, AlignableMuon *alignableMuon,
34  AlignableExtras *alignableExtras );
35 
39  AlignableExtras *alignableExtras,
40  const edm::ParameterSet &pSet );
41 
43  AlignmentParameterBuilder( AlignableTracker *alignableTracker, AlignableMuon *alignableMuon,
44  AlignableExtras *alignableExtras,
45  const edm::ParameterSet &pSet);
46 
47 
51  void addAllSelections(const edm::ParameterSet &pSet);
52 
59  unsigned int addSelections(const edm::ParameterSet &pset,
61 
63  unsigned int add(const align::Alignables &alignables,
65  const std::vector<bool> &sel);
68  const std::vector<bool> &sel);
69 
71  const align::Alignables& alignables() const { return theAlignables; };
72 
74  void fixAlignables( int n );
75 
77  const AlignableTracker* alignableTracker() const;
78 
79 private:
83  bool decodeParamSel(std::vector<char> &paramSelChar, std::vector<bool> &result) const;
85  bool addFullParamSel(AlignmentParameters *aliPar, const std::vector<char> &fullSel) const;
86 
87  // data members
88 
91 
94 
97 
100 };
101 
102 #endif
AlignmentParameterBuilder(AlignableTracker *alignableTracker, AlignableExtras *alignableExtras)
Constructor from tracker only.
unsigned int addSelections(const edm::ParameterSet &pset, AlignmentParametersFactory::ParametersType parType)
const AlignableTracker * alignableTracker() const
Alignable tracker.
bool decodeParamSel(std::vector< char > &paramSelChar, std::vector< bool > &result) const
ParametersType
enums for all available AlignmentParameters
AlignableExtras * theAlignableExtras
extra Alignables
virtual ~AlignmentParameterBuilder()
destructor
bool addFullParamSel(AlignmentParameters *aliPar, const std::vector< char > &fullSel) const
add SelectionUserVariables corresponding to fullSel
tuple result
Definition: query.py:137
void fixAlignables(int n)
Remove n Alignables from list.
AlignableMuon * theAlignableMuon
Alignable muon.
unsigned int add(const align::Alignables &alignables, AlignmentParametersFactory::ParametersType parType, const std::vector< bool > &sel)
Add arbitrary selection of Alignables, return number of higher level Alignables.
std::vector< Alignable * > Alignables
Definition: Utilities.h:28
align::Alignables theAlignables
Vector of alignables.
Constructor of the full muon geometry.
Definition: AlignableMuon.h:36
AlignableTracker * theAlignableTracker
Alignable tracker.
void addAllSelections(const edm::ParameterSet &pSet)
master initialisation method, PSet must have form as constructor wants it
const align::Alignables & alignables() const
Get list of alignables for which AlignmentParameters are built.