File indexing completed on 2024-04-06 11:56:05
0001 #ifndef Alignment_CommonAlignment_AlignableExtras_H
0002 #define Alignment_CommonAlignment_AlignableExtras_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "Alignment/CommonAlignment/interface/Alignable.h"
0016 #include "Alignment/CommonAlignment/interface/AlignableMap.h"
0017 #include "Alignment/CommonAlignment/interface/Utilities.h"
0018
0019 class AlignableExtras {
0020 public:
0021 typedef align::Alignables Alignables;
0022
0023
0024 explicit AlignableExtras();
0025
0026
0027 Alignables& subStructures(const std::string& subStructName) { return alignableLists_.find(subStructName); }
0028
0029
0030 Alignables& beamSpot() { return this->subStructures("BeamSpot"); }
0031
0032 const Alignables& components() const { return components_; }
0033
0034
0035 Alignments* alignments() const;
0036
0037
0038 AlignmentErrorsExtended* alignmentErrors() const;
0039
0040 void dump(void) const;
0041
0042
0043 void initializeBeamSpot(double x, double y, double z, double dxdz, double dydz);
0044
0045
0046 void resetBeamSpot();
0047
0048 private:
0049 AlignableMap alignableLists_;
0050 Alignables components_;
0051 };
0052
0053 #endif