File indexing completed on 2023-03-17 10:39:35
0001 #ifndef Alignment_MuonAlignment_MuonScenarioBuilder_h
0002 #define Alignment_MuonAlignment_MuonScenarioBuilder_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <vector>
0013
0014 #include "Alignment/CommonAlignment/interface/AlignableModifier.h"
0015 #include "Alignment/CommonAlignment/interface/MisalignmentScenarioBuilder.h"
0016 #include "Alignment/MuonAlignment/interface/AlignableMuon.h"
0017
0018
0019 class MuonScenarioBuilder : public MisalignmentScenarioBuilder {
0020 public:
0021
0022 explicit MuonScenarioBuilder(Alignable* alignable);
0023
0024
0025 ~MuonScenarioBuilder() override{};
0026
0027
0028 void applyScenario(const edm::ParameterSet& scenario) override;
0029
0030
0031 void moveDTSectors(const edm::ParameterSet& scenario);
0032
0033
0034 void moveCSCSectors(const edm::ParameterSet& scenario);
0035
0036 void moveGEMSectors(const edm::ParameterSet& scenario);
0037
0038
0039 void moveMuon(const edm::ParameterSet& scenario);
0040
0041 align::Scalars extractParameters(const edm::ParameterSet&, const char*);
0042
0043 void moveChamberInSector(
0044 Alignable*, const align::Scalars&, const align::Scalars&, const align::Scalars&, const align::Scalars&);
0045
0046 private:
0047 AlignableMuon* theAlignableMuon;
0048
0049 AlignableModifier theMuonModifier;
0050 };
0051
0052 #endif