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 
25 {
26 public:
28  explicit AlignmentParameterBuilder( AlignableTracker *alignableTracker,
29  AlignableExtras *alignableExtras );
30 
32  AlignmentParameterBuilder( AlignableTracker *alignableTracker, AlignableMuon *alignableMuon,
33  AlignableExtras *alignableExtras );
34 
38  AlignableExtras *alignableExtras,
39  const edm::ParameterSet &pSet );
40 
42  AlignmentParameterBuilder( AlignableTracker *alignableTracker, AlignableMuon *alignableMuon,
43  AlignableExtras *alignableExtras,
44  const edm::ParameterSet &pSet);
45 
46 
50  void addAllSelections(const edm::ParameterSet &pSet);
51 
58  unsigned int addSelections(const edm::ParameterSet &pset,
60 
62  unsigned int add(const align::Alignables &alignables,
64  const std::vector<bool> &sel);
67  const std::vector<bool> &sel);
68 
70  const align::Alignables& alignables() const { return theAlignables; };
71 
73  void fixAlignables( int n );
74 
75 private:
79  bool decodeParamSel(std::vector<char> &paramSelChar, std::vector<bool> &result) const;
81  bool addFullParamSel(AlignmentParameters *aliPar, const std::vector<char> &fullSel) const;
82 
83  // data members
84 
87 
90 
93 
96 };
97 
98 #endif
AlignmentParameterBuilder(AlignableTracker *alignableTracker, AlignableExtras *alignableExtras)
Constructor from tracker only.
unsigned int addSelections(const edm::ParameterSet &pset, AlignmentParametersFactory::ParametersType parType)
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.