25 : theAlignableTracker(alignable)
29 throw cms::Exception(
"TypeMismatch") <<
"Pointer to AlignableTracker is empty.\n";
71 if (root ==
"Tracker")
return true;
83 if (largeStr.find(
"Strip") != nPos) {
84 if (subStruct.find(
"Pixel") != nPos)
return false;
86 if (subStruct.find(
theSubdets[iPix]) != nPos)
return false;
91 if (largeStr.find(
"Pixel") != nPos) {
92 if (subStruct.find(
"Strip") != nPos)
return false;
94 if (subStruct.find(
theSubdets[iStrip]) != nPos)
return false;
99 for (
unsigned int iSub = 0; iSub <
theSubdets.size(); ++iSub) {
100 for (
unsigned int iLarge = 0; iLarge <
theSubdets.size(); ++iLarge) {
101 if (iLarge == iSub)
continue;
virtual bool isTopLevel_(const std::string ¶meterSetName) const
does this still make sense?
T getParameter(std::string const &) const
void setSeed(long seed)
Resets the generator seed according to the argument.
unsigned int theFirstStripIndex
index of first strip subdet in 'theSubdets' (pixel<strip)
const std::string rootName_(const std::string ¶meterSetName) const
Get root name of a parameter set (e.g. 'Rod' in 'Rods' or 'Rod1')
std::vector< std::string > theSubdets
following things are needed in possiblyPartOf:
virtual bool possiblyPartOf(const std::string &sub, const std::string &large) const
True if hierarchy level 'sub' could be part of hierarchy level 'large'.
void applyScenario(const edm::ParameterSet &scenario)
Apply misalignment scenario to the tracker.
TrackerScenarioBuilder(AlignableTracker *alignable)
Constructor.
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.
Alignables & subStructures(const std::string &subStructName)
int theModifierCounter
Counter for applied modification.
bool hasParameter_(const std::string &name, const edm::ParameterSet &pSet) const
Check if given parameter exists in parameter set.
AlignableTracker * theAlignableTracker