File indexing completed on 2024-04-06 11:56:38
0001 #ifndef Alignment_MuonAlignment_MuonAlignmentOutputXML_h
0002 #define Alignment_MuonAlignment_MuonAlignmentOutputXML_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include <fstream>
0024
0025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0026 #include "FWCore/Framework/interface/EventSetup.h"
0027
0028
0029 #include "Alignment/MuonAlignment/interface/AlignableMuon.h"
0030 #include "CondFormats/Alignment/interface/AlignTransformErrorExtended.h"
0031 #include "Geometry/DTGeometry/interface/DTGeometry.h"
0032 #include "Geometry/CSCGeometry/interface/CSCGeometry.h"
0033 #include "Geometry/GEMGeometry/interface/GEMGeometry.h"
0034
0035 class AlignableObjectId;
0036
0037 class MuonAlignmentOutputXML {
0038 public:
0039 MuonAlignmentOutputXML(const edm::ParameterSet &iConfig,
0040 const DTGeometry *dtGeometry,
0041 const CSCGeometry *cscGeometry,
0042 const GEMGeometry *gemGeometry);
0043 virtual ~MuonAlignmentOutputXML();
0044
0045
0046
0047
0048
0049
0050
0051 void write(AlignableMuon *alignableMuon) const;
0052
0053 MuonAlignmentOutputXML(const MuonAlignmentOutputXML &) = delete;
0054
0055 const MuonAlignmentOutputXML &operator=(const MuonAlignmentOutputXML &) = delete;
0056
0057 private:
0058 enum { doDT, doCSC, doGEM };
0059 void writeComponents(align::Alignables &alignables,
0060 align::Alignables &ideals,
0061 std::map<align::ID, CLHEP::HepSymMatrix> &errors,
0062 std::ofstream &outputFile,
0063 const int doDet,
0064 const AlignableObjectId &) const;
0065
0066
0067 std::string m_fileName;
0068 int m_relativeto;
0069 bool m_survey, m_rawIds, m_eulerAngles;
0070 int m_precision;
0071 bool m_suppressDTBarrel, m_suppressDTWheels, m_suppressDTStations, m_suppressDTChambers, m_suppressDTSuperLayers,
0072 m_suppressDTLayers;
0073 bool m_suppressCSCEndcaps, m_suppressCSCStations, m_suppressCSCRings, m_suppressCSCChambers, m_suppressCSCLayers;
0074 bool m_suppressGEMEndcaps, m_suppressGEMStations, m_suppressGEMRings, m_suppressGEMSuperChambers,
0075 m_suppressGEMChambers, m_suppressGEMEtaPartitions;
0076
0077 const DTGeometry *dtGeometry_;
0078 const CSCGeometry *cscGeometry_;
0079 const GEMGeometry *gemGeometry_;
0080 };
0081
0082 #endif