File indexing completed on 2024-09-07 04:34:43
0001 #ifndef Alignment_TrackerAlignment_TrackerScenarioBuilder_h
0002 #define Alignment_TrackerAlignment_TrackerScenarioBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include <vector>
0015 #include <string>
0016
0017 #include "Alignment/CommonAlignment/interface/StructureType.h"
0018 #include "Alignment/CommonAlignment/interface/MisalignmentScenarioBuilder.h"
0019
0020 class AlignableTracker;
0021
0022
0023
0024 class TrackerScenarioBuilder : public MisalignmentScenarioBuilder {
0025 public:
0026
0027 explicit TrackerScenarioBuilder(AlignableTracker* alignable);
0028
0029
0030 ~TrackerScenarioBuilder() override {}
0031
0032
0033 void applyScenario(const edm::ParameterSet& scenario) override;
0034
0035 bool isTopLevel_(const std::string& parameterSetName) const override;
0036
0037 bool possiblyPartOf(const std::string& sub, const std::string& large) const override;
0038
0039 private:
0040 std::string stripOffModule(const align::StructureType& type) const;
0041
0042
0043
0044 AlignableTracker* theAlignableTracker;
0045
0046 std::vector<std::string> theSubdets;
0047 unsigned int theFirstStripIndex;
0048 };
0049
0050 #endif