CMS 3D CMS Logo

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 
19 
21 
23 public:
26 
28  virtual ~MisalignmentScenarioBuilder() = default;
29 
31  virtual void applyScenario(const edm::ParameterSet& scenario) = 0;
32 
33 protected: // Methods
36 
39 
41  void applyMovements_(Alignable* alignable, const edm::ParameterSet& pSet);
42 
44  void mergeParameters_(edm::ParameterSet& localSet, const edm::ParameterSet& globalSet) const;
45 
47  void propagateParameters_(const edm::ParameterSet& pSet,
48  const std::string& globalName,
49  edm::ParameterSet& subSet) const;
50 
54 
58  edm::ParameterSet getParameterSet_(const std::string& levelName, int iComponent, const edm::ParameterSet& pSet) const;
59 
61  bool hasParameter_(const std::string& name, const edm::ParameterSet& pSet) const;
62 
64  void printParameters_(const edm::ParameterSet& pSet, const bool showPsets = false) const;
65 
67  virtual bool isTopLevel_(const std::string& parameterSetName) const;
68 
71  virtual bool possiblyPartOf(const std::string& subStruct, const std::string& largeStruct) const;
72 
74  const std::string rootName_(const std::string& parameterSetName) const;
75 
76 protected: // Members
79 
81 
82  mutable std::string indent_;
83 
84 private:
86 };
87 
88 #endif
edm::ParameterSet theScenario
Misalignment scenario to apply (from config file)
void decodeMovements_(const edm::ParameterSet &, const align::Alignables &)
Decode movements defined in given parameter set for given set of alignables.
bool hasParameter_(const std::string &name, const edm::ParameterSet &pSet) const
Check if given parameter exists in parameter set.
virtual void applyScenario(const edm::ParameterSet &scenario)=0
Apply misalignment scenario to the tracker (sub-system specific)
void propagateParameters_(const edm::ParameterSet &pSet, const std::string &globalName, edm::ParameterSet &subSet) const
Propagate global parameters to sub-parameters.
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;)
scenario
Definition: constants.h:219
MisalignmentScenarioBuilder(AlignableObjectId::Geometry)
Constructor.
edm::ParameterSet getParameterSet_(const std::string &name, const edm::ParameterSet &pSet) const
virtual ~MisalignmentScenarioBuilder()=default
Destructor.
Allows conversion between type and name, and vice-versa.
const char * levelName(LogLevel)
Definition: fwLog.cc:32
void printParameters_(const edm::ParameterSet &pSet, const bool showPsets=false) const
Print all parameters and values for given set.
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.
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
void mergeParameters_(edm::ParameterSet &localSet, const edm::ParameterSet &globalSet) const
Merge two sets of parameters into one (the first argument)
virtual bool possiblyPartOf(const std::string &subStruct, const std::string &largeStruct) const
int theModifierCounter
Counter for applied modification.
const AlignableObjectId alignableObjectId_
virtual bool isTopLevel_(const std::string &parameterSetName) const
Check if given parameter is for a top-level structure.