CMS 3D CMS Logo

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:
28  explicit AlignmentParameterBuilder(AlignableTracker *alignableTracker, AlignableExtras *alignableExtras);
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 
58  unsigned int addSelections(const edm::ParameterSet &pset, AlignmentParametersFactory::ParametersType parType);
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
ParametersType
enums for all available AlignmentParameters
AlignableExtras * theAlignableExtras
extra Alignables
virtual ~AlignmentParameterBuilder()
destructor
AlignableMuon * theAlignableMuon
Alignable muon.
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
HLT enums.
align::Alignables theAlignables
Vector of alignables.
Constructor of the full muon geometry.
Definition: AlignableMuon.h:33
AlignableTracker * theAlignableTracker
Alignable tracker.
const align::Alignables & alignables() const
Get list of alignables for which AlignmentParameters are built.