Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-04-08 00:12:55

0001 // -*- C++ -*-
0002 //
0003 // Package:     ServiceRegistry
0004 // Class  :     ActivityRegistry
0005 //
0006 // Implementation:
0007 //     <Notes on implementation>
0008 //
0009 // Original Author:  Chris Jones
0010 //         Created:  Tue Sep  6 10:26:49 EDT 2005
0011 //
0012 
0013 // system include files
0014 #include <algorithm>
0015 
0016 // user include files
0017 #include "FWCore/ServiceRegistry/interface/ActivityRegistry.h"
0018 #include "FWCore/Utilities/interface/Algorithms.h"
0019 #include "FWCore/Utilities/interface/Exception.h"
0020 
0021 //
0022 // constants, enums and typedefs
0023 //
0024 
0025 //
0026 // static data member definitions
0027 //
0028 
0029 //
0030 // constructors and destructor
0031 //
0032 //ActivityRegistry::ActivityRegistry() {
0033 //}
0034 
0035 // ActivityRegistry::ActivityRegistry(ActivityRegistry const& rhs) {
0036 //    // do actual copying here;
0037 // }
0038 
0039 //ActivityRegistry::~ActivityRegistry() {
0040 //}
0041 
0042 //
0043 // assignment operators
0044 //
0045 // ActivityRegistry const& ActivityRegistry::operator=(ActivityRegistry const& rhs) {
0046 //   //An exception safe implementation is
0047 //   ActivityRegistry temp(rhs);
0048 //   swap(rhs);
0049 //
0050 //   return *this;
0051 // }
0052 
0053 //
0054 // member functions
0055 //
0056 namespace edm {
0057   namespace {
0058     template <typename T>
0059     inline void copySlotsToFrom(T& iTo, T& iFrom) {
0060       for (auto& slot : iFrom.slots()) {
0061         iTo.connect(slot);
0062       }
0063     }
0064 
0065     template <typename T>
0066     inline void copySlotsToFromReverse(T& iTo, T& iFrom) {
0067       // This handles service slots that are supposed to be in reverse
0068       // order of construction. Copying new ones in is a little
0069       // tricky.  Here is an example of what follows
0070       // slots in iTo before  4 3 2 1  and copy in slots in iFrom 8 7 6 5.
0071       // reverse iFrom  5 6 7 8
0072       // then do the copy to front 8 7 6 5 4 3 2 1
0073 
0074       auto slotsFrom = iFrom.slots();
0075 
0076       std::reverse(slotsFrom.begin(), slotsFrom.end());
0077 
0078       for (auto& slotFrom : slotsFrom) {
0079         iTo.connect_front(slotFrom);
0080       }
0081     }
0082   }  // namespace
0083 
0084   namespace signalslot {
0085     void throwObsoleteSignalException() {
0086       throw cms::Exception("ConnectedToObsoleteServiceSignal")
0087           << "A Service has connected to an obsolete ActivityRegistry signal.";
0088     }
0089   }  // namespace signalslot
0090 
0091   void ActivityRegistry::connectGlobals(ActivityRegistry& iOther) {
0092     preallocateSignal_.connect(std::cref(iOther.preallocateSignal_));
0093     beginProcessingSignal_.connect(std::cref(iOther.beginProcessingSignal_));
0094     endProcessingSignal_.connect(std::cref(iOther.endProcessingSignal_));
0095     postBeginJobSignal_.connect(std::cref(iOther.postBeginJobSignal_));
0096     preEndJobSignal_.connect(std::cref(iOther.preEndJobSignal_));
0097     postEndJobSignal_.connect(std::cref(iOther.postEndJobSignal_));
0098 
0099     jobFailureSignal_.connect(std::cref(iOther.jobFailureSignal_));
0100 
0101     preSourceSignal_.connect(std::cref(iOther.preSourceSignal_));
0102     postSourceSignal_.connect(std::cref(iOther.postSourceSignal_));
0103 
0104     preSourceLumiSignal_.connect(std::cref(iOther.preSourceLumiSignal_));
0105     postSourceLumiSignal_.connect(std::cref(iOther.postSourceLumiSignal_));
0106 
0107     preSourceRunSignal_.connect(std::cref(iOther.preSourceRunSignal_));
0108     postSourceRunSignal_.connect(std::cref(iOther.postSourceRunSignal_));
0109 
0110     preSourceProcessBlockSignal_.connect(std::cref(iOther.preSourceProcessBlockSignal_));
0111     postSourceProcessBlockSignal_.connect(std::cref(iOther.postSourceProcessBlockSignal_));
0112 
0113     preOpenFileSignal_.connect(std::cref(iOther.preOpenFileSignal_));
0114     postOpenFileSignal_.connect(std::cref(iOther.postOpenFileSignal_));
0115 
0116     preCloseFileSignal_.connect(std::cref(iOther.preCloseFileSignal_));
0117     postCloseFileSignal_.connect(std::cref(iOther.postCloseFileSignal_));
0118 
0119     preSourceConstructionSignal_.connect(std::cref(iOther.preSourceConstructionSignal_));
0120     postSourceConstructionSignal_.connect(std::cref(iOther.postSourceConstructionSignal_));
0121 
0122     preStreamEarlyTerminationSignal_.connect(std::cref(iOther.preStreamEarlyTerminationSignal_));
0123     preGlobalEarlyTerminationSignal_.connect(std::cref(iOther.preGlobalEarlyTerminationSignal_));
0124     preSourceEarlyTerminationSignal_.connect(std::cref(iOther.preSourceEarlyTerminationSignal_));
0125 
0126     esSyncIOVQueuingSignal_.connect(std::cref(iOther.esSyncIOVQueuingSignal_));
0127     preESSyncIOVSignal_.connect(std::cref(iOther.preESSyncIOVSignal_));
0128     postESSyncIOVSignal_.connect(std::cref(iOther.postESSyncIOVSignal_));
0129   }
0130 
0131   void ActivityRegistry::connectLocals(ActivityRegistry& iOther) {
0132     preBeginJobSignal_.connect(std::cref(iOther.preBeginJobSignal_));
0133 
0134     preModuleBeginStreamSignal_.connect(std::cref(iOther.preModuleBeginStreamSignal_));
0135     postModuleBeginStreamSignal_.connect(std::cref(iOther.postModuleBeginStreamSignal_));
0136 
0137     preModuleEndStreamSignal_.connect(std::cref(iOther.preModuleEndStreamSignal_));
0138     postModuleEndStreamSignal_.connect(std::cref(iOther.postModuleEndStreamSignal_));
0139 
0140     preBeginProcessBlockSignal_.connect(std::cref(iOther.preBeginProcessBlockSignal_));
0141     postBeginProcessBlockSignal_.connect(std::cref(iOther.postBeginProcessBlockSignal_));
0142 
0143     preAccessInputProcessBlockSignal_.connect(std::cref(iOther.preAccessInputProcessBlockSignal_));
0144     postAccessInputProcessBlockSignal_.connect(std::cref(iOther.postAccessInputProcessBlockSignal_));
0145 
0146     preEndProcessBlockSignal_.connect(std::cref(iOther.preEndProcessBlockSignal_));
0147     postEndProcessBlockSignal_.connect(std::cref(iOther.postEndProcessBlockSignal_));
0148 
0149     preGlobalBeginRunSignal_.connect(std::cref(iOther.preGlobalBeginRunSignal_));
0150     postGlobalBeginRunSignal_.connect(std::cref(iOther.postGlobalBeginRunSignal_));
0151 
0152     preGlobalEndRunSignal_.connect(std::cref(iOther.preGlobalEndRunSignal_));
0153     postGlobalEndRunSignal_.connect(std::cref(iOther.postGlobalEndRunSignal_));
0154 
0155     preWriteProcessBlockSignal_.connect(std::cref(iOther.preWriteProcessBlockSignal_));
0156     postWriteProcessBlockSignal_.connect(std::cref(iOther.postWriteProcessBlockSignal_));
0157 
0158     preGlobalWriteRunSignal_.connect(std::cref(iOther.preGlobalWriteRunSignal_));
0159     postGlobalWriteRunSignal_.connect(std::cref(iOther.postGlobalWriteRunSignal_));
0160 
0161     preStreamBeginRunSignal_.connect(std::cref(iOther.preStreamBeginRunSignal_));
0162     postStreamBeginRunSignal_.connect(std::cref(iOther.postStreamBeginRunSignal_));
0163 
0164     preStreamEndRunSignal_.connect(std::cref(iOther.preStreamEndRunSignal_));
0165     postStreamEndRunSignal_.connect(std::cref(iOther.postStreamEndRunSignal_));
0166 
0167     preGlobalBeginLumiSignal_.connect(std::cref(iOther.preGlobalBeginLumiSignal_));
0168     postGlobalBeginLumiSignal_.connect(std::cref(iOther.postGlobalBeginLumiSignal_));
0169 
0170     preGlobalEndLumiSignal_.connect(std::cref(iOther.preGlobalEndLumiSignal_));
0171     postGlobalEndLumiSignal_.connect(std::cref(iOther.postGlobalEndLumiSignal_));
0172 
0173     preGlobalWriteLumiSignal_.connect(std::cref(iOther.preGlobalWriteLumiSignal_));
0174     postGlobalWriteLumiSignal_.connect(std::cref(iOther.postGlobalWriteLumiSignal_));
0175 
0176     preStreamBeginLumiSignal_.connect(std::cref(iOther.preStreamBeginLumiSignal_));
0177     postStreamBeginLumiSignal_.connect(std::cref(iOther.postStreamBeginLumiSignal_));
0178 
0179     preStreamEndLumiSignal_.connect(std::cref(iOther.preStreamEndLumiSignal_));
0180     postStreamEndLumiSignal_.connect(std::cref(iOther.postStreamEndLumiSignal_));
0181 
0182     preEventSignal_.connect(std::cref(iOther.preEventSignal_));
0183     postEventSignal_.connect(std::cref(iOther.postEventSignal_));
0184 
0185     prePathEventSignal_.connect(std::cref(iOther.prePathEventSignal_));
0186     postPathEventSignal_.connect(std::cref(iOther.postPathEventSignal_));
0187 
0188     //preProcessEventSignal_.connect(std::cref(iOther.preProcessEventSignal_));
0189     //postProcessEventSignal_.connect(std::cref(iOther.postProcessEventSignal_));
0190 
0191     //preBeginRunSignal_.connect(std::cref(iOther.preBeginRunSignal_));
0192     //postBeginRunSignal_.connect(std::cref(iOther.postBeginRunSignal_));
0193 
0194     //preEndRunSignal_.connect(std::cref(iOther.preEndRunSignal_));
0195     //postEndRunSignal_.connect(std::cref(iOther.postEndRunSignal_));
0196 
0197     //preBeginLumiSignal_.connect(std::cref(iOther.preBeginLumiSignal_));
0198     //postBeginLumiSignal_.connect(std::cref(iOther.postBeginLumiSignal_));
0199 
0200     //preEndLumiSignal_.connect(std::cref(iOther.preEndLumiSignal_));
0201     //postEndLumiSignal_.connect(std::cref(iOther.postEndLumiSignal_));
0202 
0203     //preProcessPathSignal_.connect(std::cref(iOther.preProcessPathSignal_));
0204     //postProcessPathSignal_.connect(std::cref(iOther.postProcessPathSignal_));
0205 
0206     //prePathBeginRunSignal_.connect(std::cref(iOther.prePathBeginRunSignal_));
0207     //postPathBeginRunSignal_.connect(std::cref(iOther.postPathBeginRunSignal_));
0208 
0209     //prePathEndRunSignal_.connect(std::cref(iOther.prePathEndRunSignal_));
0210     //postPathEndRunSignal_.connect(std::cref(iOther.postPathEndRunSignal_));
0211 
0212     //prePathBeginLumiSignal_.connect(std::cref(iOther.prePathBeginLumiSignal_));
0213     //postPathBeginLumiSignal_.connect(std::cref(iOther.postPathBeginLumiSignal_));
0214 
0215     //prePathEndLumiSignal_.connect(std::cref(iOther.prePathEndLumiSignal_));
0216     //postPathEndLumiSignal_.connect(std::cref(iOther.postPathEndLumiSignal_));
0217 
0218     preModuleConstructionSignal_.connect(std::cref(iOther.preModuleConstructionSignal_));
0219     postModuleConstructionSignal_.connect(std::cref(iOther.postModuleConstructionSignal_));
0220 
0221     preModuleDestructionSignal_.connect(std::cref(iOther.preModuleDestructionSignal_));
0222     postModuleDestructionSignal_.connect(std::cref(iOther.postModuleDestructionSignal_));
0223 
0224     preModuleBeginJobSignal_.connect(std::cref(iOther.preModuleBeginJobSignal_));
0225     postModuleBeginJobSignal_.connect(std::cref(iOther.postModuleBeginJobSignal_));
0226 
0227     preModuleEndJobSignal_.connect(std::cref(iOther.preModuleEndJobSignal_));
0228     postModuleEndJobSignal_.connect(std::cref(iOther.postModuleEndJobSignal_));
0229 
0230     preModuleEventPrefetchingSignal_.connect(std::cref(iOther.preModuleEventPrefetchingSignal_));
0231     postModuleEventPrefetchingSignal_.connect(std::cref(iOther.postModuleEventPrefetchingSignal_));
0232 
0233     preModuleStreamPrefetchingSignal_.connect(std::cref(iOther.preModuleStreamPrefetchingSignal_));
0234     postModuleStreamPrefetchingSignal_.connect(std::cref(iOther.postModuleStreamPrefetchingSignal_));
0235 
0236     preModuleGlobalPrefetchingSignal_.connect(std::cref(iOther.preModuleGlobalPrefetchingSignal_));
0237     postModuleGlobalPrefetchingSignal_.connect(std::cref(iOther.postModuleGlobalPrefetchingSignal_));
0238 
0239     preModuleEventSignal_.connect(std::cref(iOther.preModuleEventSignal_));
0240     postModuleEventSignal_.connect(std::cref(iOther.postModuleEventSignal_));
0241 
0242     preModuleEventAcquireSignal_.connect(std::cref(iOther.preModuleEventAcquireSignal_));
0243     postModuleEventAcquireSignal_.connect(std::cref(iOther.postModuleEventAcquireSignal_));
0244 
0245     preModuleEventDelayedGetSignal_.connect(std::cref(iOther.preModuleEventDelayedGetSignal_));
0246     postModuleEventDelayedGetSignal_.connect(std::cref(iOther.postModuleEventDelayedGetSignal_));
0247 
0248     preEventReadFromSourceSignal_.connect(std::cref(iOther.preEventReadFromSourceSignal_));
0249     postEventReadFromSourceSignal_.connect(std::cref(iOther.postEventReadFromSourceSignal_));
0250 
0251     preModuleStreamBeginRunSignal_.connect(std::cref(iOther.preModuleStreamBeginRunSignal_));
0252     postModuleStreamBeginRunSignal_.connect(std::cref(iOther.postModuleStreamBeginRunSignal_));
0253 
0254     preModuleStreamEndRunSignal_.connect(std::cref(iOther.preModuleStreamEndRunSignal_));
0255     postModuleStreamEndRunSignal_.connect(std::cref(iOther.postModuleStreamEndRunSignal_));
0256 
0257     preModuleStreamBeginLumiSignal_.connect(std::cref(iOther.preModuleStreamBeginLumiSignal_));
0258     postModuleStreamBeginLumiSignal_.connect(std::cref(iOther.postModuleStreamBeginLumiSignal_));
0259 
0260     preModuleStreamEndLumiSignal_.connect(std::cref(iOther.preModuleStreamEndLumiSignal_));
0261     postModuleStreamEndLumiSignal_.connect(std::cref(iOther.postModuleStreamEndLumiSignal_));
0262 
0263     preModuleBeginProcessBlockSignal_.connect(std::cref(iOther.preModuleBeginProcessBlockSignal_));
0264     postModuleBeginProcessBlockSignal_.connect(std::cref(iOther.postModuleBeginProcessBlockSignal_));
0265 
0266     preModuleAccessInputProcessBlockSignal_.connect(std::cref(iOther.preModuleAccessInputProcessBlockSignal_));
0267     postModuleAccessInputProcessBlockSignal_.connect(std::cref(iOther.postModuleAccessInputProcessBlockSignal_));
0268 
0269     preModuleEndProcessBlockSignal_.connect(std::cref(iOther.preModuleEndProcessBlockSignal_));
0270     postModuleEndProcessBlockSignal_.connect(std::cref(iOther.postModuleEndProcessBlockSignal_));
0271 
0272     preModuleGlobalBeginRunSignal_.connect(std::cref(iOther.preModuleGlobalBeginRunSignal_));
0273     postModuleGlobalBeginRunSignal_.connect(std::cref(iOther.postModuleGlobalBeginRunSignal_));
0274 
0275     preModuleGlobalEndRunSignal_.connect(std::cref(iOther.preModuleGlobalEndRunSignal_));
0276     postModuleGlobalEndRunSignal_.connect(std::cref(iOther.postModuleGlobalEndRunSignal_));
0277 
0278     preModuleGlobalBeginLumiSignal_.connect(std::cref(iOther.preModuleGlobalBeginLumiSignal_));
0279     postModuleGlobalBeginLumiSignal_.connect(std::cref(iOther.postModuleGlobalBeginLumiSignal_));
0280 
0281     preModuleGlobalEndLumiSignal_.connect(std::cref(iOther.preModuleGlobalEndLumiSignal_));
0282     postModuleGlobalEndLumiSignal_.connect(std::cref(iOther.postModuleGlobalEndLumiSignal_));
0283 
0284     preModuleWriteProcessBlockSignal_.connect(std::cref(iOther.preModuleWriteProcessBlockSignal_));
0285     postModuleWriteProcessBlockSignal_.connect(std::cref(iOther.postModuleWriteProcessBlockSignal_));
0286 
0287     preModuleWriteRunSignal_.connect(std::cref(iOther.preModuleWriteRunSignal_));
0288     postModuleWriteRunSignal_.connect(std::cref(iOther.postModuleWriteRunSignal_));
0289 
0290     preModuleWriteLumiSignal_.connect(std::cref(iOther.preModuleWriteLumiSignal_));
0291     postModuleWriteLumiSignal_.connect(std::cref(iOther.postModuleWriteLumiSignal_));
0292 
0293     preESModulePrefetchingSignal_.connect(std::cref(iOther.preESModulePrefetchingSignal_));
0294     postESModulePrefetchingSignal_.connect(std::cref(iOther.postESModulePrefetchingSignal_));
0295 
0296     preESModuleSignal_.connect(std::cref(iOther.preESModuleSignal_));
0297     postESModuleSignal_.connect(std::cref(iOther.postESModuleSignal_));
0298 
0299     preESModuleAcquireSignal_.connect(std::cref(iOther.preESModuleAcquireSignal_));
0300     postESModuleAcquireSignal_.connect(std::cref(iOther.postESModuleAcquireSignal_));
0301 
0302     postESModuleRegistrationSignal_.connect(std::cref(iOther.postESModuleRegistrationSignal_));
0303 
0304     //preModuleSignal_.connect(std::cref(iOther.preModuleSignal_));
0305     //postModuleSignal_.connect(std::cref(iOther.postModuleSignal_));
0306 
0307     //preModuleBeginRunSignal_.connect(std::cref(iOther.preModuleBeginRunSignal_));
0308     //postModuleBeginRunSignal_.connect(std::cref(iOther.postModuleBeginRunSignal_));
0309 
0310     //preModuleEndRunSignal_.connect(std::cref(iOther.preModuleEndRunSignal_));
0311     //postModuleEndRunSignal_.connect(std::cref(iOther.postModuleEndRunSignal_));
0312 
0313     //preModuleBeginLumiSignal_.connect(std::cref(iOther.preModuleBeginLumiSignal_));
0314     //postModuleBeginLumiSignal_.connect(std::cref(iOther.postModuleBeginLumiSignal_));
0315 
0316     //preModuleEndLumiSignal_.connect(std::cref(iOther.preModuleEndLumiSignal_));
0317     //postModuleEndLumiSignal_.connect(std::cref(iOther.postModuleEndLumiSignal_));
0318   }
0319 
0320   void ActivityRegistry::connect(ActivityRegistry& iOther) {
0321     connectGlobals(iOther);
0322     connectLocals(iOther);
0323   }
0324 
0325   void ActivityRegistry::connectToSubProcess(ActivityRegistry& iOther) {
0326     connectGlobals(iOther);       // child sees parents global signals
0327     iOther.connectLocals(*this);  // parent see childs global signals
0328   }
0329 
0330   void ActivityRegistry::copySlotsFrom(ActivityRegistry& iOther) {
0331     copySlotsToFrom(preallocateSignal_, iOther.preallocateSignal_);
0332     copySlotsToFrom(beginProcessingSignal_, iOther.beginProcessingSignal_);
0333     copySlotsToFrom(endProcessingSignal_, iOther.endProcessingSignal_);
0334     copySlotsToFrom(preBeginJobSignal_, iOther.preBeginJobSignal_);
0335     copySlotsToFrom(postBeginJobSignal_, iOther.postBeginJobSignal_);
0336     copySlotsToFromReverse(preEndJobSignal_, iOther.preEndJobSignal_);
0337     copySlotsToFromReverse(postEndJobSignal_, iOther.postEndJobSignal_);
0338 
0339     copySlotsToFromReverse(jobFailureSignal_, iOther.jobFailureSignal_);
0340 
0341     copySlotsToFrom(preSourceSignal_, iOther.preSourceSignal_);
0342     copySlotsToFromReverse(postSourceSignal_, iOther.postSourceSignal_);
0343 
0344     copySlotsToFrom(preSourceLumiSignal_, iOther.preSourceLumiSignal_);
0345     copySlotsToFromReverse(postSourceLumiSignal_, iOther.postSourceLumiSignal_);
0346 
0347     copySlotsToFrom(preSourceRunSignal_, iOther.preSourceRunSignal_);
0348     copySlotsToFromReverse(postSourceRunSignal_, iOther.postSourceRunSignal_);
0349 
0350     copySlotsToFrom(preSourceProcessBlockSignal_, iOther.preSourceProcessBlockSignal_);
0351     copySlotsToFromReverse(postSourceProcessBlockSignal_, iOther.postSourceProcessBlockSignal_);
0352 
0353     copySlotsToFrom(preOpenFileSignal_, iOther.preOpenFileSignal_);
0354     copySlotsToFromReverse(postOpenFileSignal_, iOther.postOpenFileSignal_);
0355 
0356     copySlotsToFrom(preCloseFileSignal_, iOther.preCloseFileSignal_);
0357     copySlotsToFromReverse(postCloseFileSignal_, iOther.postCloseFileSignal_);
0358 
0359     copySlotsToFrom(preModuleBeginStreamSignal_, iOther.preModuleBeginStreamSignal_);
0360     copySlotsToFromReverse(postModuleBeginStreamSignal_, iOther.postModuleBeginStreamSignal_);
0361 
0362     copySlotsToFrom(preModuleEndStreamSignal_, iOther.preModuleEndStreamSignal_);
0363     copySlotsToFromReverse(postModuleEndStreamSignal_, iOther.postModuleEndStreamSignal_);
0364 
0365     copySlotsToFrom(preBeginProcessBlockSignal_, iOther.preBeginProcessBlockSignal_);
0366     copySlotsToFromReverse(postBeginProcessBlockSignal_, iOther.postBeginProcessBlockSignal_);
0367 
0368     copySlotsToFrom(preAccessInputProcessBlockSignal_, iOther.preAccessInputProcessBlockSignal_);
0369     copySlotsToFromReverse(postAccessInputProcessBlockSignal_, iOther.postAccessInputProcessBlockSignal_);
0370 
0371     copySlotsToFrom(preEndProcessBlockSignal_, iOther.preEndProcessBlockSignal_);
0372     copySlotsToFromReverse(postEndProcessBlockSignal_, iOther.postEndProcessBlockSignal_);
0373 
0374     copySlotsToFrom(preGlobalBeginRunSignal_, iOther.preGlobalBeginRunSignal_);
0375     copySlotsToFromReverse(postGlobalBeginRunSignal_, iOther.postGlobalBeginRunSignal_);
0376 
0377     copySlotsToFrom(preGlobalEndRunSignal_, iOther.preGlobalEndRunSignal_);
0378     copySlotsToFromReverse(postGlobalEndRunSignal_, iOther.postGlobalEndRunSignal_);
0379 
0380     copySlotsToFrom(preWriteProcessBlockSignal_, iOther.preWriteProcessBlockSignal_);
0381     copySlotsToFromReverse(postWriteProcessBlockSignal_, iOther.postWriteProcessBlockSignal_);
0382 
0383     copySlotsToFrom(preGlobalWriteRunSignal_, iOther.preGlobalWriteRunSignal_);
0384     copySlotsToFromReverse(postGlobalWriteRunSignal_, iOther.postGlobalWriteRunSignal_);
0385 
0386     copySlotsToFrom(preStreamBeginRunSignal_, iOther.preStreamBeginRunSignal_);
0387     copySlotsToFromReverse(postStreamBeginRunSignal_, iOther.postStreamBeginRunSignal_);
0388 
0389     copySlotsToFrom(preStreamEndRunSignal_, iOther.preStreamEndRunSignal_);
0390     copySlotsToFromReverse(postStreamEndRunSignal_, iOther.postStreamEndRunSignal_);
0391 
0392     copySlotsToFrom(preGlobalBeginLumiSignal_, iOther.preGlobalBeginLumiSignal_);
0393     copySlotsToFromReverse(postGlobalBeginLumiSignal_, iOther.postGlobalBeginLumiSignal_);
0394 
0395     copySlotsToFrom(preGlobalEndLumiSignal_, iOther.preGlobalEndLumiSignal_);
0396     copySlotsToFromReverse(postGlobalEndLumiSignal_, iOther.postGlobalEndLumiSignal_);
0397 
0398     copySlotsToFrom(preGlobalWriteLumiSignal_, iOther.preGlobalWriteLumiSignal_);
0399     copySlotsToFromReverse(postGlobalWriteLumiSignal_, iOther.postGlobalWriteLumiSignal_);
0400 
0401     copySlotsToFrom(preStreamBeginLumiSignal_, iOther.preStreamBeginLumiSignal_);
0402     copySlotsToFromReverse(postStreamBeginLumiSignal_, iOther.postStreamBeginLumiSignal_);
0403 
0404     copySlotsToFrom(preStreamEndLumiSignal_, iOther.preStreamEndLumiSignal_);
0405     copySlotsToFromReverse(postStreamEndLumiSignal_, iOther.postStreamEndLumiSignal_);
0406 
0407     copySlotsToFrom(preEventSignal_, iOther.preEventSignal_);
0408     copySlotsToFromReverse(postEventSignal_, iOther.postEventSignal_);
0409 
0410     copySlotsToFrom(prePathEventSignal_, iOther.prePathEventSignal_);
0411     copySlotsToFromReverse(postPathEventSignal_, iOther.postPathEventSignal_);
0412 
0413     copySlotsToFrom(preStreamEarlyTerminationSignal_, iOther.preStreamEarlyTerminationSignal_);
0414     copySlotsToFrom(preGlobalEarlyTerminationSignal_, iOther.preGlobalEarlyTerminationSignal_);
0415     copySlotsToFrom(preSourceEarlyTerminationSignal_, iOther.preSourceEarlyTerminationSignal_);
0416 
0417     /*
0418     copySlotsToFrom(preProcessEventSignal_, iOther.preProcessEventSignal_);
0419     copySlotsToFromReverse(postProcessEventSignal_, iOther.postProcessEventSignal_);
0420 
0421     copySlotsToFrom(preBeginRunSignal_, iOther.preBeginRunSignal_);
0422     copySlotsToFromReverse(postBeginRunSignal_, iOther.postBeginRunSignal_);
0423 
0424     copySlotsToFrom(preEndRunSignal_, iOther.preEndRunSignal_);
0425     copySlotsToFromReverse(postEndRunSignal_, iOther.postEndRunSignal_);
0426 
0427     copySlotsToFrom(preBeginLumiSignal_, iOther.preBeginLumiSignal_);
0428     copySlotsToFromReverse(postBeginLumiSignal_, iOther.postBeginLumiSignal_);
0429 
0430     copySlotsToFrom(preEndLumiSignal_, iOther.preEndLumiSignal_);
0431     copySlotsToFromReverse(postEndLumiSignal_, iOther.postEndLumiSignal_);
0432 
0433     copySlotsToFrom(preProcessPathSignal_, iOther.preProcessPathSignal_);
0434     copySlotsToFromReverse(postProcessPathSignal_, iOther.postProcessPathSignal_);
0435 
0436     copySlotsToFrom(prePathBeginRunSignal_, iOther.prePathBeginRunSignal_);
0437     copySlotsToFromReverse(postPathBeginRunSignal_, iOther.postPathBeginRunSignal_);
0438 
0439     copySlotsToFrom(prePathEndRunSignal_, iOther.prePathEndRunSignal_);
0440     copySlotsToFromReverse(postPathEndRunSignal_, iOther.postPathEndRunSignal_);
0441 
0442     copySlotsToFrom(prePathBeginLumiSignal_, iOther.prePathBeginLumiSignal_);
0443     copySlotsToFromReverse(postPathBeginLumiSignal_, iOther.postPathBeginLumiSignal_);
0444 
0445     copySlotsToFrom(prePathEndLumiSignal_, iOther.prePathEndLumiSignal_);
0446     copySlotsToFromReverse(postPathEndLumiSignal_, iOther.postPathEndLumiSignal_);
0447 */
0448     copySlotsToFrom(preModuleConstructionSignal_, iOther.preModuleConstructionSignal_);
0449     copySlotsToFromReverse(postModuleConstructionSignal_, iOther.postModuleConstructionSignal_);
0450 
0451     copySlotsToFrom(preModuleDestructionSignal_, iOther.preModuleDestructionSignal_);
0452     copySlotsToFromReverse(postModuleDestructionSignal_, iOther.postModuleDestructionSignal_);
0453 
0454     copySlotsToFrom(preModuleBeginJobSignal_, iOther.preModuleBeginJobSignal_);
0455     copySlotsToFromReverse(postModuleBeginJobSignal_, iOther.postModuleBeginJobSignal_);
0456 
0457     copySlotsToFrom(preModuleEndJobSignal_, iOther.preModuleEndJobSignal_);
0458     copySlotsToFromReverse(postModuleEndJobSignal_, iOther.postModuleEndJobSignal_);
0459 
0460     copySlotsToFrom(preModuleEventPrefetchingSignal_, iOther.preModuleEventPrefetchingSignal_);
0461     copySlotsToFromReverse(postModuleEventPrefetchingSignal_, iOther.postModuleEventPrefetchingSignal_);
0462 
0463     copySlotsToFrom(preModuleStreamPrefetchingSignal_, iOther.preModuleStreamPrefetchingSignal_);
0464     copySlotsToFromReverse(postModuleStreamPrefetchingSignal_, iOther.postModuleStreamPrefetchingSignal_);
0465 
0466     copySlotsToFrom(preModuleGlobalPrefetchingSignal_, iOther.preModuleGlobalPrefetchingSignal_);
0467     copySlotsToFromReverse(postModuleGlobalPrefetchingSignal_, iOther.postModuleGlobalPrefetchingSignal_);
0468 
0469     copySlotsToFrom(preModuleEventSignal_, iOther.preModuleEventSignal_);
0470     copySlotsToFromReverse(postModuleEventSignal_, iOther.postModuleEventSignal_);
0471 
0472     copySlotsToFrom(preModuleEventAcquireSignal_, iOther.preModuleEventAcquireSignal_);
0473     copySlotsToFromReverse(postModuleEventAcquireSignal_, iOther.postModuleEventAcquireSignal_);
0474 
0475     copySlotsToFrom(preModuleEventDelayedGetSignal_, iOther.preModuleEventDelayedGetSignal_);
0476     copySlotsToFromReverse(postModuleEventDelayedGetSignal_, iOther.postModuleEventDelayedGetSignal_);
0477 
0478     copySlotsToFrom(preEventReadFromSourceSignal_, iOther.preEventReadFromSourceSignal_);
0479     copySlotsToFromReverse(postEventReadFromSourceSignal_, iOther.postEventReadFromSourceSignal_);
0480 
0481     copySlotsToFrom(preModuleStreamBeginRunSignal_, iOther.preModuleStreamBeginRunSignal_);
0482     copySlotsToFromReverse(postModuleStreamBeginRunSignal_, iOther.postModuleStreamBeginRunSignal_);
0483 
0484     copySlotsToFrom(preModuleStreamEndRunSignal_, iOther.preModuleStreamEndRunSignal_);
0485     copySlotsToFromReverse(postModuleStreamEndRunSignal_, iOther.postModuleStreamEndRunSignal_);
0486 
0487     copySlotsToFrom(preModuleStreamBeginLumiSignal_, iOther.preModuleStreamBeginLumiSignal_);
0488     copySlotsToFromReverse(postModuleStreamBeginLumiSignal_, iOther.postModuleStreamBeginLumiSignal_);
0489 
0490     copySlotsToFrom(preModuleStreamEndLumiSignal_, iOther.preModuleStreamEndLumiSignal_);
0491     copySlotsToFromReverse(postModuleStreamEndLumiSignal_, iOther.postModuleStreamEndLumiSignal_);
0492 
0493     copySlotsToFrom(preModuleBeginProcessBlockSignal_, iOther.preModuleBeginProcessBlockSignal_);
0494     copySlotsToFromReverse(postModuleBeginProcessBlockSignal_, iOther.postModuleBeginProcessBlockSignal_);
0495 
0496     copySlotsToFrom(preModuleAccessInputProcessBlockSignal_, iOther.preModuleAccessInputProcessBlockSignal_);
0497     copySlotsToFromReverse(postModuleAccessInputProcessBlockSignal_, iOther.postModuleAccessInputProcessBlockSignal_);
0498 
0499     copySlotsToFrom(preModuleEndProcessBlockSignal_, iOther.preModuleEndProcessBlockSignal_);
0500     copySlotsToFromReverse(postModuleEndProcessBlockSignal_, iOther.postModuleEndProcessBlockSignal_);
0501 
0502     copySlotsToFrom(preModuleGlobalBeginRunSignal_, iOther.preModuleGlobalBeginRunSignal_);
0503     copySlotsToFromReverse(postModuleGlobalBeginRunSignal_, iOther.postModuleGlobalBeginRunSignal_);
0504 
0505     copySlotsToFrom(preModuleGlobalEndRunSignal_, iOther.preModuleGlobalEndRunSignal_);
0506     copySlotsToFromReverse(postModuleGlobalEndRunSignal_, iOther.postModuleGlobalEndRunSignal_);
0507 
0508     copySlotsToFrom(preModuleGlobalBeginLumiSignal_, iOther.preModuleGlobalBeginLumiSignal_);
0509     copySlotsToFromReverse(postModuleGlobalBeginLumiSignal_, iOther.postModuleGlobalBeginLumiSignal_);
0510 
0511     copySlotsToFrom(preModuleGlobalEndLumiSignal_, iOther.preModuleGlobalEndLumiSignal_);
0512     copySlotsToFromReverse(postModuleGlobalEndLumiSignal_, iOther.postModuleGlobalEndLumiSignal_);
0513 
0514     copySlotsToFrom(preModuleWriteProcessBlockSignal_, iOther.preModuleWriteProcessBlockSignal_);
0515     copySlotsToFromReverse(postModuleWriteProcessBlockSignal_, iOther.postModuleWriteProcessBlockSignal_);
0516 
0517     copySlotsToFrom(preModuleWriteRunSignal_, iOther.preModuleWriteRunSignal_);
0518     copySlotsToFromReverse(postModuleWriteRunSignal_, iOther.postModuleWriteRunSignal_);
0519 
0520     copySlotsToFrom(preModuleWriteLumiSignal_, iOther.preModuleWriteLumiSignal_);
0521     copySlotsToFromReverse(postModuleWriteLumiSignal_, iOther.postModuleWriteLumiSignal_);
0522 
0523     copySlotsToFrom(preESModulePrefetchingSignal_, iOther.preESModulePrefetchingSignal_);
0524     copySlotsToFromReverse(postESModulePrefetchingSignal_, iOther.postESModulePrefetchingSignal_);
0525 
0526     copySlotsToFrom(preESModuleSignal_, iOther.preESModuleSignal_);
0527     copySlotsToFromReverse(postESModuleSignal_, iOther.postESModuleSignal_);
0528 
0529     copySlotsToFrom(preESModuleAcquireSignal_, iOther.preESModuleAcquireSignal_);
0530     copySlotsToFromReverse(postESModuleAcquireSignal_, iOther.postESModuleAcquireSignal_);
0531 
0532     copySlotsToFromReverse(postESModuleRegistrationSignal_, iOther.postESModuleRegistrationSignal_);
0533     /*
0534     copySlotsToFrom(preModuleSignal_, iOther.preModuleSignal_);
0535     copySlotsToFromReverse(postModuleSignal_, iOther.postModuleSignal_);
0536 
0537     copySlotsToFrom(preModuleBeginRunSignal_, iOther.preModuleBeginRunSignal_);
0538     copySlotsToFromReverse(postModuleBeginRunSignal_, iOther.postModuleBeginRunSignal_);
0539 
0540     copySlotsToFrom(preModuleEndRunSignal_, iOther.preModuleEndRunSignal_);
0541     copySlotsToFromReverse(postModuleEndRunSignal_, iOther.postModuleEndRunSignal_);
0542 
0543     copySlotsToFrom(preModuleBeginLumiSignal_, iOther.preModuleBeginLumiSignal_);
0544     copySlotsToFromReverse(postModuleBeginLumiSignal_, iOther.postModuleBeginLumiSignal_);
0545 
0546     copySlotsToFrom(preModuleEndLumiSignal_, iOther.preModuleEndLumiSignal_);
0547     copySlotsToFromReverse(postModuleEndLumiSignal_, iOther.postModuleEndLumiSignal_);
0548      */
0549     copySlotsToFrom(preSourceConstructionSignal_, iOther.preSourceConstructionSignal_);
0550     copySlotsToFromReverse(postSourceConstructionSignal_, iOther.postSourceConstructionSignal_);
0551 
0552     copySlotsToFrom(esSyncIOVQueuingSignal_, iOther.esSyncIOVQueuingSignal_);
0553     copySlotsToFrom(preESSyncIOVSignal_, iOther.preESSyncIOVSignal_);
0554     copySlotsToFromReverse(postESSyncIOVSignal_, iOther.postESSyncIOVSignal_);
0555   }
0556 
0557   //
0558   // const member functions
0559   //
0560 
0561   //
0562   // static member functions
0563   //
0564 }  // namespace edm