Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-07-14 22:55: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     postBeginJobSignal_.connect(std::cref(iOther.postBeginJobSignal_));
0094     preEndJobSignal_.connect(std::cref(iOther.preEndJobSignal_));
0095     postEndJobSignal_.connect(std::cref(iOther.postEndJobSignal_));
0096 
0097     jobFailureSignal_.connect(std::cref(iOther.jobFailureSignal_));
0098 
0099     preSourceSignal_.connect(std::cref(iOther.preSourceSignal_));
0100     postSourceSignal_.connect(std::cref(iOther.postSourceSignal_));
0101 
0102     preSourceLumiSignal_.connect(std::cref(iOther.preSourceLumiSignal_));
0103     postSourceLumiSignal_.connect(std::cref(iOther.postSourceLumiSignal_));
0104 
0105     preSourceRunSignal_.connect(std::cref(iOther.preSourceRunSignal_));
0106     postSourceRunSignal_.connect(std::cref(iOther.postSourceRunSignal_));
0107 
0108     preSourceProcessBlockSignal_.connect(std::cref(iOther.preSourceProcessBlockSignal_));
0109     postSourceProcessBlockSignal_.connect(std::cref(iOther.postSourceProcessBlockSignal_));
0110 
0111     preOpenFileSignal_.connect(std::cref(iOther.preOpenFileSignal_));
0112     postOpenFileSignal_.connect(std::cref(iOther.postOpenFileSignal_));
0113 
0114     preCloseFileSignal_.connect(std::cref(iOther.preCloseFileSignal_));
0115     postCloseFileSignal_.connect(std::cref(iOther.postCloseFileSignal_));
0116 
0117     preSourceConstructionSignal_.connect(std::cref(iOther.preSourceConstructionSignal_));
0118     postSourceConstructionSignal_.connect(std::cref(iOther.postSourceConstructionSignal_));
0119 
0120     preStreamEarlyTerminationSignal_.connect(std::cref(iOther.preStreamEarlyTerminationSignal_));
0121     preGlobalEarlyTerminationSignal_.connect(std::cref(iOther.preGlobalEarlyTerminationSignal_));
0122     preSourceEarlyTerminationSignal_.connect(std::cref(iOther.preSourceEarlyTerminationSignal_));
0123 
0124     esSyncIOVQueuingSignal_.connect(std::cref(iOther.esSyncIOVQueuingSignal_));
0125     preESSyncIOVSignal_.connect(std::cref(iOther.preESSyncIOVSignal_));
0126     postESSyncIOVSignal_.connect(std::cref(iOther.postESSyncIOVSignal_));
0127   }
0128 
0129   void ActivityRegistry::connectLocals(ActivityRegistry& iOther) {
0130     preBeginJobSignal_.connect(std::cref(iOther.preBeginJobSignal_));
0131 
0132     preModuleBeginStreamSignal_.connect(std::cref(iOther.preModuleBeginStreamSignal_));
0133     postModuleBeginStreamSignal_.connect(std::cref(iOther.postModuleBeginStreamSignal_));
0134 
0135     preModuleEndStreamSignal_.connect(std::cref(iOther.preModuleEndStreamSignal_));
0136     postModuleEndStreamSignal_.connect(std::cref(iOther.postModuleEndStreamSignal_));
0137 
0138     preBeginProcessBlockSignal_.connect(std::cref(iOther.preBeginProcessBlockSignal_));
0139     postBeginProcessBlockSignal_.connect(std::cref(iOther.postBeginProcessBlockSignal_));
0140 
0141     preAccessInputProcessBlockSignal_.connect(std::cref(iOther.preAccessInputProcessBlockSignal_));
0142     postAccessInputProcessBlockSignal_.connect(std::cref(iOther.postAccessInputProcessBlockSignal_));
0143 
0144     preEndProcessBlockSignal_.connect(std::cref(iOther.preEndProcessBlockSignal_));
0145     postEndProcessBlockSignal_.connect(std::cref(iOther.postEndProcessBlockSignal_));
0146 
0147     preGlobalBeginRunSignal_.connect(std::cref(iOther.preGlobalBeginRunSignal_));
0148     postGlobalBeginRunSignal_.connect(std::cref(iOther.postGlobalBeginRunSignal_));
0149 
0150     preGlobalEndRunSignal_.connect(std::cref(iOther.preGlobalEndRunSignal_));
0151     postGlobalEndRunSignal_.connect(std::cref(iOther.postGlobalEndRunSignal_));
0152 
0153     preWriteProcessBlockSignal_.connect(std::cref(iOther.preWriteProcessBlockSignal_));
0154     postWriteProcessBlockSignal_.connect(std::cref(iOther.postWriteProcessBlockSignal_));
0155 
0156     preGlobalWriteRunSignal_.connect(std::cref(iOther.preGlobalWriteRunSignal_));
0157     postGlobalWriteRunSignal_.connect(std::cref(iOther.postGlobalWriteRunSignal_));
0158 
0159     preStreamBeginRunSignal_.connect(std::cref(iOther.preStreamBeginRunSignal_));
0160     postStreamBeginRunSignal_.connect(std::cref(iOther.postStreamBeginRunSignal_));
0161 
0162     preStreamEndRunSignal_.connect(std::cref(iOther.preStreamEndRunSignal_));
0163     postStreamEndRunSignal_.connect(std::cref(iOther.postStreamEndRunSignal_));
0164 
0165     preGlobalBeginLumiSignal_.connect(std::cref(iOther.preGlobalBeginLumiSignal_));
0166     postGlobalBeginLumiSignal_.connect(std::cref(iOther.postGlobalBeginLumiSignal_));
0167 
0168     preGlobalEndLumiSignal_.connect(std::cref(iOther.preGlobalEndLumiSignal_));
0169     postGlobalEndLumiSignal_.connect(std::cref(iOther.postGlobalEndLumiSignal_));
0170 
0171     preGlobalWriteLumiSignal_.connect(std::cref(iOther.preGlobalWriteLumiSignal_));
0172     postGlobalWriteLumiSignal_.connect(std::cref(iOther.postGlobalWriteLumiSignal_));
0173 
0174     preStreamBeginLumiSignal_.connect(std::cref(iOther.preStreamBeginLumiSignal_));
0175     postStreamBeginLumiSignal_.connect(std::cref(iOther.postStreamBeginLumiSignal_));
0176 
0177     preStreamEndLumiSignal_.connect(std::cref(iOther.preStreamEndLumiSignal_));
0178     postStreamEndLumiSignal_.connect(std::cref(iOther.postStreamEndLumiSignal_));
0179 
0180     preEventSignal_.connect(std::cref(iOther.preEventSignal_));
0181     postEventSignal_.connect(std::cref(iOther.postEventSignal_));
0182 
0183     prePathEventSignal_.connect(std::cref(iOther.prePathEventSignal_));
0184     postPathEventSignal_.connect(std::cref(iOther.postPathEventSignal_));
0185 
0186     //preProcessEventSignal_.connect(std::cref(iOther.preProcessEventSignal_));
0187     //postProcessEventSignal_.connect(std::cref(iOther.postProcessEventSignal_));
0188 
0189     //preBeginRunSignal_.connect(std::cref(iOther.preBeginRunSignal_));
0190     //postBeginRunSignal_.connect(std::cref(iOther.postBeginRunSignal_));
0191 
0192     //preEndRunSignal_.connect(std::cref(iOther.preEndRunSignal_));
0193     //postEndRunSignal_.connect(std::cref(iOther.postEndRunSignal_));
0194 
0195     //preBeginLumiSignal_.connect(std::cref(iOther.preBeginLumiSignal_));
0196     //postBeginLumiSignal_.connect(std::cref(iOther.postBeginLumiSignal_));
0197 
0198     //preEndLumiSignal_.connect(std::cref(iOther.preEndLumiSignal_));
0199     //postEndLumiSignal_.connect(std::cref(iOther.postEndLumiSignal_));
0200 
0201     //preProcessPathSignal_.connect(std::cref(iOther.preProcessPathSignal_));
0202     //postProcessPathSignal_.connect(std::cref(iOther.postProcessPathSignal_));
0203 
0204     //prePathBeginRunSignal_.connect(std::cref(iOther.prePathBeginRunSignal_));
0205     //postPathBeginRunSignal_.connect(std::cref(iOther.postPathBeginRunSignal_));
0206 
0207     //prePathEndRunSignal_.connect(std::cref(iOther.prePathEndRunSignal_));
0208     //postPathEndRunSignal_.connect(std::cref(iOther.postPathEndRunSignal_));
0209 
0210     //prePathBeginLumiSignal_.connect(std::cref(iOther.prePathBeginLumiSignal_));
0211     //postPathBeginLumiSignal_.connect(std::cref(iOther.postPathBeginLumiSignal_));
0212 
0213     //prePathEndLumiSignal_.connect(std::cref(iOther.prePathEndLumiSignal_));
0214     //postPathEndLumiSignal_.connect(std::cref(iOther.postPathEndLumiSignal_));
0215 
0216     preModuleConstructionSignal_.connect(std::cref(iOther.preModuleConstructionSignal_));
0217     postModuleConstructionSignal_.connect(std::cref(iOther.postModuleConstructionSignal_));
0218 
0219     preModuleDestructionSignal_.connect(std::cref(iOther.preModuleDestructionSignal_));
0220     postModuleDestructionSignal_.connect(std::cref(iOther.postModuleDestructionSignal_));
0221 
0222     preModuleBeginJobSignal_.connect(std::cref(iOther.preModuleBeginJobSignal_));
0223     postModuleBeginJobSignal_.connect(std::cref(iOther.postModuleBeginJobSignal_));
0224 
0225     preModuleEndJobSignal_.connect(std::cref(iOther.preModuleEndJobSignal_));
0226     postModuleEndJobSignal_.connect(std::cref(iOther.postModuleEndJobSignal_));
0227 
0228     preModuleEventPrefetchingSignal_.connect(std::cref(iOther.preModuleEventPrefetchingSignal_));
0229     postModuleEventPrefetchingSignal_.connect(std::cref(iOther.postModuleEventPrefetchingSignal_));
0230 
0231     preModuleStreamPrefetchingSignal_.connect(std::cref(iOther.preModuleStreamPrefetchingSignal_));
0232     postModuleStreamPrefetchingSignal_.connect(std::cref(iOther.postModuleStreamPrefetchingSignal_));
0233 
0234     preModuleGlobalPrefetchingSignal_.connect(std::cref(iOther.preModuleGlobalPrefetchingSignal_));
0235     postModuleGlobalPrefetchingSignal_.connect(std::cref(iOther.postModuleGlobalPrefetchingSignal_));
0236 
0237     preModuleEventSignal_.connect(std::cref(iOther.preModuleEventSignal_));
0238     postModuleEventSignal_.connect(std::cref(iOther.postModuleEventSignal_));
0239 
0240     preModuleEventAcquireSignal_.connect(std::cref(iOther.preModuleEventAcquireSignal_));
0241     postModuleEventAcquireSignal_.connect(std::cref(iOther.postModuleEventAcquireSignal_));
0242 
0243     preModuleEventDelayedGetSignal_.connect(std::cref(iOther.preModuleEventDelayedGetSignal_));
0244     postModuleEventDelayedGetSignal_.connect(std::cref(iOther.postModuleEventDelayedGetSignal_));
0245 
0246     preEventReadFromSourceSignal_.connect(std::cref(iOther.preEventReadFromSourceSignal_));
0247     postEventReadFromSourceSignal_.connect(std::cref(iOther.postEventReadFromSourceSignal_));
0248 
0249     preModuleStreamBeginRunSignal_.connect(std::cref(iOther.preModuleStreamBeginRunSignal_));
0250     postModuleStreamBeginRunSignal_.connect(std::cref(iOther.postModuleStreamBeginRunSignal_));
0251 
0252     preModuleStreamEndRunSignal_.connect(std::cref(iOther.preModuleStreamEndRunSignal_));
0253     postModuleStreamEndRunSignal_.connect(std::cref(iOther.postModuleStreamEndRunSignal_));
0254 
0255     preModuleStreamBeginLumiSignal_.connect(std::cref(iOther.preModuleStreamBeginLumiSignal_));
0256     postModuleStreamBeginLumiSignal_.connect(std::cref(iOther.postModuleStreamBeginLumiSignal_));
0257 
0258     preModuleStreamEndLumiSignal_.connect(std::cref(iOther.preModuleStreamEndLumiSignal_));
0259     postModuleStreamEndLumiSignal_.connect(std::cref(iOther.postModuleStreamEndLumiSignal_));
0260 
0261     preModuleBeginProcessBlockSignal_.connect(std::cref(iOther.preModuleBeginProcessBlockSignal_));
0262     postModuleBeginProcessBlockSignal_.connect(std::cref(iOther.postModuleBeginProcessBlockSignal_));
0263 
0264     preModuleAccessInputProcessBlockSignal_.connect(std::cref(iOther.preModuleAccessInputProcessBlockSignal_));
0265     postModuleAccessInputProcessBlockSignal_.connect(std::cref(iOther.postModuleAccessInputProcessBlockSignal_));
0266 
0267     preModuleEndProcessBlockSignal_.connect(std::cref(iOther.preModuleEndProcessBlockSignal_));
0268     postModuleEndProcessBlockSignal_.connect(std::cref(iOther.postModuleEndProcessBlockSignal_));
0269 
0270     preModuleGlobalBeginRunSignal_.connect(std::cref(iOther.preModuleGlobalBeginRunSignal_));
0271     postModuleGlobalBeginRunSignal_.connect(std::cref(iOther.postModuleGlobalBeginRunSignal_));
0272 
0273     preModuleGlobalEndRunSignal_.connect(std::cref(iOther.preModuleGlobalEndRunSignal_));
0274     postModuleGlobalEndRunSignal_.connect(std::cref(iOther.postModuleGlobalEndRunSignal_));
0275 
0276     preModuleGlobalBeginLumiSignal_.connect(std::cref(iOther.preModuleGlobalBeginLumiSignal_));
0277     postModuleGlobalBeginLumiSignal_.connect(std::cref(iOther.postModuleGlobalBeginLumiSignal_));
0278 
0279     preModuleGlobalEndLumiSignal_.connect(std::cref(iOther.preModuleGlobalEndLumiSignal_));
0280     postModuleGlobalEndLumiSignal_.connect(std::cref(iOther.postModuleGlobalEndLumiSignal_));
0281 
0282     preModuleWriteProcessBlockSignal_.connect(std::cref(iOther.preModuleWriteProcessBlockSignal_));
0283     postModuleWriteProcessBlockSignal_.connect(std::cref(iOther.postModuleWriteProcessBlockSignal_));
0284 
0285     preModuleWriteRunSignal_.connect(std::cref(iOther.preModuleWriteRunSignal_));
0286     postModuleWriteRunSignal_.connect(std::cref(iOther.postModuleWriteRunSignal_));
0287 
0288     preModuleWriteLumiSignal_.connect(std::cref(iOther.preModuleWriteLumiSignal_));
0289     postModuleWriteLumiSignal_.connect(std::cref(iOther.postModuleWriteLumiSignal_));
0290 
0291     preESModulePrefetchingSignal_.connect(std::cref(iOther.preESModulePrefetchingSignal_));
0292     postESModulePrefetchingSignal_.connect(std::cref(iOther.postESModulePrefetchingSignal_));
0293 
0294     preESModuleSignal_.connect(std::cref(iOther.preESModuleSignal_));
0295     postESModuleSignal_.connect(std::cref(iOther.postESModuleSignal_));
0296 
0297     postESModuleRegistrationSignal_.connect(std::cref(iOther.postESModuleRegistrationSignal_));
0298 
0299     //preModuleSignal_.connect(std::cref(iOther.preModuleSignal_));
0300     //postModuleSignal_.connect(std::cref(iOther.postModuleSignal_));
0301 
0302     //preModuleBeginRunSignal_.connect(std::cref(iOther.preModuleBeginRunSignal_));
0303     //postModuleBeginRunSignal_.connect(std::cref(iOther.postModuleBeginRunSignal_));
0304 
0305     //preModuleEndRunSignal_.connect(std::cref(iOther.preModuleEndRunSignal_));
0306     //postModuleEndRunSignal_.connect(std::cref(iOther.postModuleEndRunSignal_));
0307 
0308     //preModuleBeginLumiSignal_.connect(std::cref(iOther.preModuleBeginLumiSignal_));
0309     //postModuleBeginLumiSignal_.connect(std::cref(iOther.postModuleBeginLumiSignal_));
0310 
0311     //preModuleEndLumiSignal_.connect(std::cref(iOther.preModuleEndLumiSignal_));
0312     //postModuleEndLumiSignal_.connect(std::cref(iOther.postModuleEndLumiSignal_));
0313   }
0314 
0315   void ActivityRegistry::connect(ActivityRegistry& iOther) {
0316     connectGlobals(iOther);
0317     connectLocals(iOther);
0318   }
0319 
0320   void ActivityRegistry::connectToSubProcess(ActivityRegistry& iOther) {
0321     connectGlobals(iOther);       // child sees parents global signals
0322     iOther.connectLocals(*this);  // parent see childs global signals
0323   }
0324 
0325   void ActivityRegistry::copySlotsFrom(ActivityRegistry& iOther) {
0326     copySlotsToFrom(preallocateSignal_, iOther.preallocateSignal_);
0327     copySlotsToFrom(preBeginJobSignal_, iOther.preBeginJobSignal_);
0328     copySlotsToFrom(postBeginJobSignal_, iOther.postBeginJobSignal_);
0329     copySlotsToFromReverse(preEndJobSignal_, iOther.preEndJobSignal_);
0330     copySlotsToFromReverse(postEndJobSignal_, iOther.postEndJobSignal_);
0331 
0332     copySlotsToFromReverse(jobFailureSignal_, iOther.jobFailureSignal_);
0333 
0334     copySlotsToFrom(preSourceSignal_, iOther.preSourceSignal_);
0335     copySlotsToFromReverse(postSourceSignal_, iOther.postSourceSignal_);
0336 
0337     copySlotsToFrom(preSourceLumiSignal_, iOther.preSourceLumiSignal_);
0338     copySlotsToFromReverse(postSourceLumiSignal_, iOther.postSourceLumiSignal_);
0339 
0340     copySlotsToFrom(preSourceRunSignal_, iOther.preSourceRunSignal_);
0341     copySlotsToFromReverse(postSourceRunSignal_, iOther.postSourceRunSignal_);
0342 
0343     copySlotsToFrom(preSourceProcessBlockSignal_, iOther.preSourceProcessBlockSignal_);
0344     copySlotsToFromReverse(postSourceProcessBlockSignal_, iOther.postSourceProcessBlockSignal_);
0345 
0346     copySlotsToFrom(preOpenFileSignal_, iOther.preOpenFileSignal_);
0347     copySlotsToFromReverse(postOpenFileSignal_, iOther.postOpenFileSignal_);
0348 
0349     copySlotsToFrom(preCloseFileSignal_, iOther.preCloseFileSignal_);
0350     copySlotsToFromReverse(postCloseFileSignal_, iOther.postCloseFileSignal_);
0351 
0352     copySlotsToFrom(preModuleBeginStreamSignal_, iOther.preModuleBeginStreamSignal_);
0353     copySlotsToFromReverse(postModuleBeginStreamSignal_, iOther.postModuleBeginStreamSignal_);
0354 
0355     copySlotsToFrom(preModuleEndStreamSignal_, iOther.preModuleEndStreamSignal_);
0356     copySlotsToFromReverse(postModuleEndStreamSignal_, iOther.postModuleEndStreamSignal_);
0357 
0358     copySlotsToFrom(preBeginProcessBlockSignal_, iOther.preBeginProcessBlockSignal_);
0359     copySlotsToFromReverse(postBeginProcessBlockSignal_, iOther.postBeginProcessBlockSignal_);
0360 
0361     copySlotsToFrom(preAccessInputProcessBlockSignal_, iOther.preAccessInputProcessBlockSignal_);
0362     copySlotsToFromReverse(postAccessInputProcessBlockSignal_, iOther.postAccessInputProcessBlockSignal_);
0363 
0364     copySlotsToFrom(preEndProcessBlockSignal_, iOther.preEndProcessBlockSignal_);
0365     copySlotsToFromReverse(postEndProcessBlockSignal_, iOther.postEndProcessBlockSignal_);
0366 
0367     copySlotsToFrom(preGlobalBeginRunSignal_, iOther.preGlobalBeginRunSignal_);
0368     copySlotsToFromReverse(postGlobalBeginRunSignal_, iOther.postGlobalBeginRunSignal_);
0369 
0370     copySlotsToFrom(preGlobalEndRunSignal_, iOther.preGlobalEndRunSignal_);
0371     copySlotsToFromReverse(postGlobalEndRunSignal_, iOther.postGlobalEndRunSignal_);
0372 
0373     copySlotsToFrom(preWriteProcessBlockSignal_, iOther.preWriteProcessBlockSignal_);
0374     copySlotsToFromReverse(postWriteProcessBlockSignal_, iOther.postWriteProcessBlockSignal_);
0375 
0376     copySlotsToFrom(preGlobalWriteRunSignal_, iOther.preGlobalWriteRunSignal_);
0377     copySlotsToFromReverse(postGlobalWriteRunSignal_, iOther.postGlobalWriteRunSignal_);
0378 
0379     copySlotsToFrom(preStreamBeginRunSignal_, iOther.preStreamBeginRunSignal_);
0380     copySlotsToFromReverse(postStreamBeginRunSignal_, iOther.postStreamBeginRunSignal_);
0381 
0382     copySlotsToFrom(preStreamEndRunSignal_, iOther.preStreamEndRunSignal_);
0383     copySlotsToFromReverse(postStreamEndRunSignal_, iOther.postStreamEndRunSignal_);
0384 
0385     copySlotsToFrom(preGlobalBeginLumiSignal_, iOther.preGlobalBeginLumiSignal_);
0386     copySlotsToFromReverse(postGlobalBeginLumiSignal_, iOther.postGlobalBeginLumiSignal_);
0387 
0388     copySlotsToFrom(preGlobalEndLumiSignal_, iOther.preGlobalEndLumiSignal_);
0389     copySlotsToFromReverse(postGlobalEndLumiSignal_, iOther.postGlobalEndLumiSignal_);
0390 
0391     copySlotsToFrom(preGlobalWriteLumiSignal_, iOther.preGlobalWriteLumiSignal_);
0392     copySlotsToFromReverse(postGlobalWriteLumiSignal_, iOther.postGlobalWriteLumiSignal_);
0393 
0394     copySlotsToFrom(preStreamBeginLumiSignal_, iOther.preStreamBeginLumiSignal_);
0395     copySlotsToFromReverse(postStreamBeginLumiSignal_, iOther.postStreamBeginLumiSignal_);
0396 
0397     copySlotsToFrom(preStreamEndLumiSignal_, iOther.preStreamEndLumiSignal_);
0398     copySlotsToFromReverse(postStreamEndLumiSignal_, iOther.postStreamEndLumiSignal_);
0399 
0400     copySlotsToFrom(preEventSignal_, iOther.preEventSignal_);
0401     copySlotsToFromReverse(postEventSignal_, iOther.postEventSignal_);
0402 
0403     copySlotsToFrom(prePathEventSignal_, iOther.prePathEventSignal_);
0404     copySlotsToFromReverse(postPathEventSignal_, iOther.postPathEventSignal_);
0405 
0406     copySlotsToFrom(preStreamEarlyTerminationSignal_, iOther.preStreamEarlyTerminationSignal_);
0407     copySlotsToFrom(preGlobalEarlyTerminationSignal_, iOther.preGlobalEarlyTerminationSignal_);
0408     copySlotsToFrom(preSourceEarlyTerminationSignal_, iOther.preSourceEarlyTerminationSignal_);
0409 
0410     /*
0411     copySlotsToFrom(preProcessEventSignal_, iOther.preProcessEventSignal_);
0412     copySlotsToFromReverse(postProcessEventSignal_, iOther.postProcessEventSignal_);
0413 
0414     copySlotsToFrom(preBeginRunSignal_, iOther.preBeginRunSignal_);
0415     copySlotsToFromReverse(postBeginRunSignal_, iOther.postBeginRunSignal_);
0416 
0417     copySlotsToFrom(preEndRunSignal_, iOther.preEndRunSignal_);
0418     copySlotsToFromReverse(postEndRunSignal_, iOther.postEndRunSignal_);
0419 
0420     copySlotsToFrom(preBeginLumiSignal_, iOther.preBeginLumiSignal_);
0421     copySlotsToFromReverse(postBeginLumiSignal_, iOther.postBeginLumiSignal_);
0422 
0423     copySlotsToFrom(preEndLumiSignal_, iOther.preEndLumiSignal_);
0424     copySlotsToFromReverse(postEndLumiSignal_, iOther.postEndLumiSignal_);
0425 
0426     copySlotsToFrom(preProcessPathSignal_, iOther.preProcessPathSignal_);
0427     copySlotsToFromReverse(postProcessPathSignal_, iOther.postProcessPathSignal_);
0428 
0429     copySlotsToFrom(prePathBeginRunSignal_, iOther.prePathBeginRunSignal_);
0430     copySlotsToFromReverse(postPathBeginRunSignal_, iOther.postPathBeginRunSignal_);
0431 
0432     copySlotsToFrom(prePathEndRunSignal_, iOther.prePathEndRunSignal_);
0433     copySlotsToFromReverse(postPathEndRunSignal_, iOther.postPathEndRunSignal_);
0434 
0435     copySlotsToFrom(prePathBeginLumiSignal_, iOther.prePathBeginLumiSignal_);
0436     copySlotsToFromReverse(postPathBeginLumiSignal_, iOther.postPathBeginLumiSignal_);
0437 
0438     copySlotsToFrom(prePathEndLumiSignal_, iOther.prePathEndLumiSignal_);
0439     copySlotsToFromReverse(postPathEndLumiSignal_, iOther.postPathEndLumiSignal_);
0440 */
0441     copySlotsToFrom(preModuleConstructionSignal_, iOther.preModuleConstructionSignal_);
0442     copySlotsToFromReverse(postModuleConstructionSignal_, iOther.postModuleConstructionSignal_);
0443 
0444     copySlotsToFrom(preModuleDestructionSignal_, iOther.preModuleDestructionSignal_);
0445     copySlotsToFromReverse(postModuleDestructionSignal_, iOther.postModuleDestructionSignal_);
0446 
0447     copySlotsToFrom(preModuleBeginJobSignal_, iOther.preModuleBeginJobSignal_);
0448     copySlotsToFromReverse(postModuleBeginJobSignal_, iOther.postModuleBeginJobSignal_);
0449 
0450     copySlotsToFrom(preModuleEndJobSignal_, iOther.preModuleEndJobSignal_);
0451     copySlotsToFromReverse(postModuleEndJobSignal_, iOther.postModuleEndJobSignal_);
0452 
0453     copySlotsToFrom(preModuleEventPrefetchingSignal_, iOther.preModuleEventPrefetchingSignal_);
0454     copySlotsToFromReverse(postModuleEventPrefetchingSignal_, iOther.postModuleEventPrefetchingSignal_);
0455 
0456     copySlotsToFrom(preModuleStreamPrefetchingSignal_, iOther.preModuleStreamPrefetchingSignal_);
0457     copySlotsToFromReverse(postModuleStreamPrefetchingSignal_, iOther.postModuleStreamPrefetchingSignal_);
0458 
0459     copySlotsToFrom(preModuleGlobalPrefetchingSignal_, iOther.preModuleGlobalPrefetchingSignal_);
0460     copySlotsToFromReverse(postModuleGlobalPrefetchingSignal_, iOther.postModuleGlobalPrefetchingSignal_);
0461 
0462     copySlotsToFrom(preModuleEventSignal_, iOther.preModuleEventSignal_);
0463     copySlotsToFromReverse(postModuleEventSignal_, iOther.postModuleEventSignal_);
0464 
0465     copySlotsToFrom(preModuleEventAcquireSignal_, iOther.preModuleEventAcquireSignal_);
0466     copySlotsToFromReverse(postModuleEventAcquireSignal_, iOther.postModuleEventAcquireSignal_);
0467 
0468     copySlotsToFrom(preModuleEventDelayedGetSignal_, iOther.preModuleEventDelayedGetSignal_);
0469     copySlotsToFromReverse(postModuleEventDelayedGetSignal_, iOther.postModuleEventDelayedGetSignal_);
0470 
0471     copySlotsToFrom(preEventReadFromSourceSignal_, iOther.preEventReadFromSourceSignal_);
0472     copySlotsToFromReverse(postEventReadFromSourceSignal_, iOther.postEventReadFromSourceSignal_);
0473 
0474     copySlotsToFrom(preModuleStreamBeginRunSignal_, iOther.preModuleStreamBeginRunSignal_);
0475     copySlotsToFromReverse(postModuleStreamBeginRunSignal_, iOther.postModuleStreamBeginRunSignal_);
0476 
0477     copySlotsToFrom(preModuleStreamEndRunSignal_, iOther.preModuleStreamEndRunSignal_);
0478     copySlotsToFromReverse(postModuleStreamEndRunSignal_, iOther.postModuleStreamEndRunSignal_);
0479 
0480     copySlotsToFrom(preModuleStreamBeginLumiSignal_, iOther.preModuleStreamBeginLumiSignal_);
0481     copySlotsToFromReverse(postModuleStreamBeginLumiSignal_, iOther.postModuleStreamBeginLumiSignal_);
0482 
0483     copySlotsToFrom(preModuleStreamEndLumiSignal_, iOther.preModuleStreamEndLumiSignal_);
0484     copySlotsToFromReverse(postModuleStreamEndLumiSignal_, iOther.postModuleStreamEndLumiSignal_);
0485 
0486     copySlotsToFrom(preModuleBeginProcessBlockSignal_, iOther.preModuleBeginProcessBlockSignal_);
0487     copySlotsToFromReverse(postModuleBeginProcessBlockSignal_, iOther.postModuleBeginProcessBlockSignal_);
0488 
0489     copySlotsToFrom(preModuleAccessInputProcessBlockSignal_, iOther.preModuleAccessInputProcessBlockSignal_);
0490     copySlotsToFromReverse(postModuleAccessInputProcessBlockSignal_, iOther.postModuleAccessInputProcessBlockSignal_);
0491 
0492     copySlotsToFrom(preModuleEndProcessBlockSignal_, iOther.preModuleEndProcessBlockSignal_);
0493     copySlotsToFromReverse(postModuleEndProcessBlockSignal_, iOther.postModuleEndProcessBlockSignal_);
0494 
0495     copySlotsToFrom(preModuleGlobalBeginRunSignal_, iOther.preModuleGlobalBeginRunSignal_);
0496     copySlotsToFromReverse(postModuleGlobalBeginRunSignal_, iOther.postModuleGlobalBeginRunSignal_);
0497 
0498     copySlotsToFrom(preModuleGlobalEndRunSignal_, iOther.preModuleGlobalEndRunSignal_);
0499     copySlotsToFromReverse(postModuleGlobalEndRunSignal_, iOther.postModuleGlobalEndRunSignal_);
0500 
0501     copySlotsToFrom(preModuleGlobalBeginLumiSignal_, iOther.preModuleGlobalBeginLumiSignal_);
0502     copySlotsToFromReverse(postModuleGlobalBeginLumiSignal_, iOther.postModuleGlobalBeginLumiSignal_);
0503 
0504     copySlotsToFrom(preModuleGlobalEndLumiSignal_, iOther.preModuleGlobalEndLumiSignal_);
0505     copySlotsToFromReverse(postModuleGlobalEndLumiSignal_, iOther.postModuleGlobalEndLumiSignal_);
0506 
0507     copySlotsToFrom(preModuleWriteProcessBlockSignal_, iOther.preModuleWriteProcessBlockSignal_);
0508     copySlotsToFromReverse(postModuleWriteProcessBlockSignal_, iOther.postModuleWriteProcessBlockSignal_);
0509 
0510     copySlotsToFrom(preModuleWriteRunSignal_, iOther.preModuleWriteRunSignal_);
0511     copySlotsToFromReverse(postModuleWriteRunSignal_, iOther.postModuleWriteRunSignal_);
0512 
0513     copySlotsToFrom(preModuleWriteLumiSignal_, iOther.preModuleWriteLumiSignal_);
0514     copySlotsToFromReverse(postModuleWriteLumiSignal_, iOther.postModuleWriteLumiSignal_);
0515 
0516     copySlotsToFrom(preESModulePrefetchingSignal_, iOther.preESModulePrefetchingSignal_);
0517     copySlotsToFromReverse(postESModulePrefetchingSignal_, iOther.postESModulePrefetchingSignal_);
0518 
0519     copySlotsToFrom(preESModuleSignal_, iOther.preESModuleSignal_);
0520     copySlotsToFromReverse(postESModuleSignal_, iOther.postESModuleSignal_);
0521 
0522     copySlotsToFromReverse(postESModuleRegistrationSignal_, iOther.postESModuleRegistrationSignal_);
0523     /*
0524     copySlotsToFrom(preModuleSignal_, iOther.preModuleSignal_);
0525     copySlotsToFromReverse(postModuleSignal_, iOther.postModuleSignal_);
0526 
0527     copySlotsToFrom(preModuleBeginRunSignal_, iOther.preModuleBeginRunSignal_);
0528     copySlotsToFromReverse(postModuleBeginRunSignal_, iOther.postModuleBeginRunSignal_);
0529 
0530     copySlotsToFrom(preModuleEndRunSignal_, iOther.preModuleEndRunSignal_);
0531     copySlotsToFromReverse(postModuleEndRunSignal_, iOther.postModuleEndRunSignal_);
0532 
0533     copySlotsToFrom(preModuleBeginLumiSignal_, iOther.preModuleBeginLumiSignal_);
0534     copySlotsToFromReverse(postModuleBeginLumiSignal_, iOther.postModuleBeginLumiSignal_);
0535 
0536     copySlotsToFrom(preModuleEndLumiSignal_, iOther.preModuleEndLumiSignal_);
0537     copySlotsToFromReverse(postModuleEndLumiSignal_, iOther.postModuleEndLumiSignal_);
0538      */
0539     copySlotsToFrom(preSourceConstructionSignal_, iOther.preSourceConstructionSignal_);
0540     copySlotsToFromReverse(postSourceConstructionSignal_, iOther.postSourceConstructionSignal_);
0541 
0542     copySlotsToFrom(esSyncIOVQueuingSignal_, iOther.esSyncIOVQueuingSignal_);
0543     copySlotsToFrom(preESSyncIOVSignal_, iOther.preESSyncIOVSignal_);
0544     copySlotsToFromReverse(postESSyncIOVSignal_, iOther.postESSyncIOVSignal_);
0545   }
0546 
0547   //
0548   // const member functions
0549   //
0550 
0551   //
0552   // static member functions
0553   //
0554 }  // namespace edm