00001 #ifndef Alignment_MuonAlignment_MuonScenarioBuilder_h 00002 #define Alignment_MuonAlignment_MuonScenarioBuilder_h 00003 00013 #include <vector> 00014 00015 00016 #include "Alignment/CommonAlignment/interface/AlignableModifier.h" 00017 #include "Alignment/CommonAlignment/interface/MisalignmentScenarioBuilder.h" 00018 #include "Alignment/MuonAlignment/interface/AlignableMuon.h" 00020 00021 class MuonScenarioBuilder : public MisalignmentScenarioBuilder 00022 { 00023 00024 public: 00025 00027 explicit MuonScenarioBuilder( Alignable* alignable ); 00028 00030 ~MuonScenarioBuilder() {}; 00031 00033 void applyScenario( const edm::ParameterSet& scenario ); 00034 00036 void moveDTSectors( const edm::ParameterSet& scenario ); 00037 00039 void moveCSCSectors( const edm::ParameterSet& scenario ); 00040 00042 void moveMuon( const edm::ParameterSet& scenario ); 00043 00044 std::vector<float> extractParameters( const edm::ParameterSet& , const char* ); 00045 00046 void moveChamberInSector( Alignable *, std::vector<float>, std::vector<float>, std::vector<float> , std::vector<float> ); 00047 private: // Members 00048 00049 AlignableMuon* theAlignableMuon; 00050 00051 AlignableModifier theMuonModifier; 00052 }; 00053 00054 00055 00056 #endif