105 deque<const DetGeomDesc *> buffer;
106 deque<DetGeomDesc *> bufferNew;
107 buffer.push_back(idealGD.
product());
108 bufferNew.push_back(newGD);
110 while (buffer.size() > 0)
115 bufferNew.pop_front();
146 buffer.push_back(sDC);
152 bufferNew.push_back(cD);
163 iRecord.
get(
"XMLIdealGeometryESSource_CTPPS", cpv);
186 LogVerbatim(
"TotemRPGeometryESModule::produceRealGD")
187 <<
">> TotemRPGeometryESModule::produceRealGD > Real geometry: " 188 << alignments->
GetRPMap().size() <<
" RP and " 189 << alignments->
GetSensorMap().size() <<
" sensor alignments applied.";
192 LogVerbatim(
"TotemRPGeometryESModule::produceRealGD")
193 <<
">> TotemRPGeometryESModule::produceRealGD > Real geometry: No alignments applied.";
198 return std::unique_ptr<DetGeomDesc>(newGD);
217 LogVerbatim(
"TotemRPGeometryESModule::produceMisalignedGD")
218 <<
">> TotemRPGeometryESModule::produceMisalignedGD > Misaligned geometry: " 219 << alignments->
GetRPMap().size() <<
" RP and " 220 << alignments->
GetSensorMap().size() <<
" sensor alignments applied.";
223 LogVerbatim(
"TotemRPGeometryESModule::produceMisalignedGD")
224 <<
">> TotemRPGeometryESModule::produceMisalignedGD > Misaligned geometry: No alignments applied.";
229 return std::unique_ptr<DetGeomDesc>(newGD);
239 return std::make_unique<TotemRPGeometry>( gD.
product());
249 return std::make_unique<TotemRPGeometry>( gD.
product());
T getUntrackedParameter(std::string const &, T const &) const
virtual ~TotemRPGeometryESModule()
std::unique_ptr< TotemRPGeometry > produceMisalignedTG(const VeryForwardMisalignedGeometryRecord &)
Builds structure of DetGeomDesc objects out of DDCompactView (resp. DDFilteredView).
const mapType & GetSensorMap() const
returns the map of sensor alignment corrections
const mapType & GetRPMap() const
returns the map of RP alignment corrections
const char DDD_TOTEM_RP_PRIMARY_VACUUM_NAME[]
DDD name of RP.
Event setup record containing the real (actual) geometry information.
const DetGeomDesc * construct(const DDCompactView *cpv)
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
const DepRecordT & getRecord() const
void ApplyAlignment(const RPAlignmentCorrectionData &)
alignment
virtual ConstContainer components() const
access to the tree structure
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Builds ideal, real and misaligned geometries.
void get(HolderT &iHolder) const
Geometrical description of a detector.
std::unique_ptr< DetGeomDesc > produceRealGD(const VeryForwardRealGeometryRecord &)
Alignment correction or result of alignment procedure for a single RP sensor. Within the geometry des...
RPAlignmentCorrectionData GetFullSensorCorrection(unsigned int id, bool useRPErrors=false) const
const char DDD_CTPPS_DIAMONDS_DETECTOR_NAME[]
TotemRPGeometryESModule(const edm::ParameterSet &p)
virtual DetId geographicalID() const
std::unique_ptr< DetGeomDesc > produceMisalignedGD(const VeryForwardMisalignedGeometryRecord &)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
std::unique_ptr< TotemRPGeometry > produceRealTG(const VeryForwardRealGeometryRecord &)
RPAlignmentCorrectionData & GetRPCorrection(unsigned int id)
returns the correction value from the RP map
void ApplyAlignments(const edm::ESHandle< DetGeomDesc > &idealGD, const edm::ESHandle< RPAlignmentCorrectionsData > &alignments, DetGeomDesc *&newGD)
Event setup record containing the misaligned geometry information. It is used for alignment studies o...
std::unique_ptr< DetGeomDesc > produceIdealGD(const IdealGeometryRecord &)
const char DDD_TOTEM_RP_DETECTOR_NAME[]
DDD name of RP detector.
T const * product() const
void addComponent(DetGeomDesc *)
const std::string & name() const
Returns the name.