CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 public:
29 
32  AlignableMuon *alignableMuon,
33  AlignableExtras *alignableExtras);
34 
38  AlignableExtras *alignableExtras,
39  const edm::ParameterSet &pSet);
40 
43  AlignableMuon *alignableMuon,
44  AlignableExtras *alignableExtras,
45  const edm::ParameterSet &pSet);
46 
50  void addAllSelections(const edm::ParameterSet &pSet);
51 
59 
61  unsigned int add(const align::Alignables &alignables,
63  const std::vector<bool> &sel);
65  bool add(Alignable *alignable, AlignmentParametersFactory::ParametersType parType, const std::vector<bool> &sel);
66 
68  const align::Alignables &alignables() const { return theAlignables; };
69 
71  void fixAlignables(int n);
72 
74  const AlignableTracker *alignableTracker() const;
75 
76 private:
80  bool decodeParamSel(std::vector<char> &paramSelChar, std::vector<bool> &result) const;
82  bool addFullParamSel(AlignmentParameters *aliPar, const std::vector<char> &fullSel) const;
83 
84  // data members
85 
88 
91 
94 
97 };
98 
99 #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
tuple result
Definition: mps_fire.py:311
virtual ~AlignmentParameterBuilder()
destructor
bool addFullParamSel(AlignmentParameters *aliPar, const std::vector< char > &fullSel) const
add SelectionUserVariables corresponding to fullSel
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:31
align::Alignables theAlignables
Vector of alignables.
Constructor of the full muon geometry.
Definition: AlignableMuon.h:38
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.