CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MisalignmentScenarioBuilder.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_MisalignmentScenarioBuilder_h
2 #define Alignment_CommonAlignment_MisalignmentScenarioBuilder_h
3 
11 
12 #include <vector>
13 
15 
18 
20 
22 {
23 
24 public:
25 
28 
30  virtual ~MisalignmentScenarioBuilder() = default;
31 
33  virtual void applyScenario( const edm::ParameterSet& scenario ) = 0;
34 
35 protected: // Methods
36 
38  void decodeMovements_(const edm::ParameterSet &pSet, const std::vector<Alignable*> &alignables);
39 
41  void decodeMovements_(const edm::ParameterSet& pSet, const std::vector<Alignable*> &alignables,
42  const std::string &levelName);
43 
45  void applyMovements_( Alignable* alignable, const edm::ParameterSet& pSet );
46 
48  void mergeParameters_( edm::ParameterSet& localSet, const edm::ParameterSet& globalSet ) const;
49 
51  void propagateParameters_( const edm::ParameterSet& pSet, const std::string& globalName,
52  edm::ParameterSet& subSet ) const;
53 
57 
61  edm::ParameterSet getParameterSet_( const std::string& levelName, int iComponent,
62  const edm::ParameterSet& pSet ) const;
63 
64 
66  bool hasParameter_( const std::string& name, const edm::ParameterSet& pSet ) const;
67 
69  void printParameters_( const edm::ParameterSet& pSet, const bool showPsets = false ) const;
70 
72  virtual bool isTopLevel_(const std::string& parameterSetName) const;
73 
76  virtual bool possiblyPartOf(const std::string &subStruct, const std::string &largeStruct) const;
77 
79  const std::string rootName_( const std::string& parameterSetName ) const;
80 
81 
82 protected: // Members
83 
86 
88 
89  mutable std::string indent_;
90 
91 private:
93 };
94 
95 
96 
97 #endif
edm::ParameterSet theScenario
Misalignment scenario to apply (from config file)
virtual bool possiblyPartOf(const std::string &subStruct, const std::string &largeStruct) const
virtual void applyScenario(const edm::ParameterSet &scenario)=0
Apply misalignment scenario to the tracker (sub-system specific)
void printParameters_(const edm::ParameterSet &pSet, const bool showPsets=false) const
Print all parameters and values for given set.
const std::string rootName_(const std::string &parameterSetName) const
Get root name of a parameter set (e.g. &#39;Rod&#39; in &#39;Rods&#39; or &#39;Rod1&#39;)
MisalignmentScenarioBuilder(AlignableObjectId::Geometry)
Constructor.
virtual ~MisalignmentScenarioBuilder()=default
Destructor.
void propagateParameters_(const edm::ParameterSet &pSet, const std::string &globalName, edm::ParameterSet &subSet) const
Propagate global parameters to sub-parameters.
Allows conversion between type and name, and vice-versa.
virtual bool isTopLevel_(const std::string &parameterSetName) const
Check if given parameter is for a top-level structure.
const char * levelName(LogLevel)
Definition: fwLog.cc:34
void decodeMovements_(const edm::ParameterSet &pSet, const std::vector< Alignable * > &alignables)
Decode movements defined in given parameter set for given set of alignables.
AlignableModifier theModifier
Helper class for random movements.
Base class to build a scenario from configuration and apply to either tracker or muon.
std::string indent_
Depth in hierarchy.
void applyMovements_(Alignable *alignable, const edm::ParameterSet &pSet)
Apply movements given by parameter set to given alignable.
void mergeParameters_(edm::ParameterSet &localSet, const edm::ParameterSet &globalSet) const
Merge two sets of parameters into one (the first argument)
int theModifierCounter
Counter for applied modification.
const AlignableObjectId alignableObjectId_
bool hasParameter_(const std::string &name, const edm::ParameterSet &pSet) const
Check if given parameter exists in parameter set.
edm::ParameterSet getParameterSet_(const std::string &name, const edm::ParameterSet &pSet) const