How ParameterSets are nested inside ParameterSets The main feature is that they're made persistent using a ParameterSetID, and only reconstituted as needed, when the value_ptr = 0;
This a basic exception type expected to be thrown by developer-written code. We recommend that you use it directly. It can also be used as a base class if needed.
Each Exception is identified by a category string. This category is a short word or phrase (no spaces) that described the problem that was encountered.
Information can be added to the Exception using the stream insertion operator (as one uses cout). We recommend using it in the following manner:
Example: if ((rc=func()) < 0) { throw cms::Exception("DataCorrupt") << "I died with rc = " << rc << std::endl; }
Derived types are expected to fix the category, either by 1) passing a string literal to the base class constructor, or 2) ensuring the developer gives a category name.
Example: class InfiniteLoop : public Exception { InfiniteLoop(const std::string& msg) : Exception("InfiniteLoop",msg) { } };
ExceptionCollector is a utility class that can be used to make sure that each function or functor in a sequence of calls is invoked even if a previous function throws. Each function/functor must take no arguments and return a void. boost::bind can be used to convert a function taking arguments into a function taking no arguments. The exception strings are saved in a cms::Exception for optional rethrow.
Here is an example:
ExceptionCollector c("initialMessage");
c.call(boost_bind(&MyClass::myFunction, myClassPtr)); c.call(boost_bind(&MyClass::myOtherFunction, myClassPtr, myArgPtr)); c.call(boost_bind(&myFreeFunction, myArgPtr)); if (c.hasThrown()) c.rethrow();
This insures that all three functions will be called before any exception is thrown.
A very fast propagator that can go only from the trigger layers of the muon system to the tracker bounds. Uses precomputed parametrizations.
The COMMON BLOCK used by FastMuonPropagator.
Finds the layers that a FreeTrajectoryState which is outside of the tracker volume crosses first. In the forward and barrel-forward regions there may be several such layers.
SiPixelClusterProducer.cc --------------------------------------------------------------- Description: see SiPixelClusterProducer.h Author: P. Maksimovic (porting from original ORCA version) History: Oct 14, 2005, initial version Get rid of the noiseVector. d.k. 28/3/06 Implementation of the DetSetVector container. V.Chiochia, May 06 SiPixelClusterCollection typedef of DetSetVector V.Chiochia, June 06 Introduce the DetSet local container (cache) for speed. d.k. 05/07
---------------------------------------------------------------
void cms::Adler32 | ( | char const * | data, |
size_t | len, | ||
uint32_t & | a, | ||
uint32_t & | b | ||
) |
Definition at line 11 of file Adler32Calculator.cc.
References a, compareJSON::const, data, and MOD_ADLER.
Referenced by Adler32(), stor::FileHandler::checkAdler32(), edm::StreamDQMDeserializer::deserializeDQMEvent(), edm::StreamerInputSource::deserializeEvent(), edm::StreamerInputSource::deserializeRegistry(), FRDEventFileWriter::doOutputEvent(), FRDEventFileWriter::doOutputEventFragment(), edm::StreamDQMSerializer::serializeDQMEvent(), edm::StreamSerializer::serializeEvent(), edm::StreamSerializer::serializeRegistry(), and OutputFile::write().
{ /* data: Pointer to the data to be summed; len is in bytes */ #define MOD_ADLER 65521 unsigned char const* ptr = static_cast<unsigned char const*>(static_cast<void const*>(data)); while (len > 0) { size_t tlen = (len > 5552 ? 5552 : len); len -= tlen; do { a += *ptr++; b += a; } while (--tlen); a %= MOD_ADLER; b %= MOD_ADLER; } #undef MOD_ADLER }
uint32_t cms::Adler32 | ( | char const * | data, |
size_t | len | ||
) |
edm::ProductID cms::clusterProduct | ( | const TrackingRecHit * | hit | ) |
Definition at line 46 of file SimpleTrackListMerger.cc.
References cond::rpcobgas::detid, Exception, TrackingRecHit::geographicalId(), edm::ProductID::id(), ProjectedSiStripRecHit2D::originalHit(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, and DetId::subdetId().
Referenced by cms::SimpleTrackListMerger::produce().
{ edm::ProductID pID; //cast it into the proper class and find productID DetId detid = hit->geographicalId(); uint32_t subdet = detid.subdetId(); if ((subdet == PixelSubdetector::PixelBarrel) || (subdet == PixelSubdetector::PixelEndcap)) { pID=reinterpret_cast<const SiPixelRecHit *>(hit)->cluster().id(); } else { const std::type_info &type = typeid(*hit); if (type == typeid(SiStripRecHit2D)) { pID=reinterpret_cast<const SiStripRecHit2D *>(hit)->cluster().id(); } else if (type == typeid(SiStripRecHit1D)) { pID=reinterpret_cast<const SiStripRecHit1D *>(hit)->cluster().id(); } else if (type == typeid(SiStripMatchedRecHit2D)) { const SiStripMatchedRecHit2D *mhit = reinterpret_cast<const SiStripMatchedRecHit2D *>(hit); pID=mhit->monoClusterRef().id(); } else if (type == typeid(ProjectedSiStripRecHit2D)) { const ProjectedSiStripRecHit2D *phit = reinterpret_cast<const ProjectedSiStripRecHit2D *>(hit); pID=(&phit->originalHit())->cluster().id(); } else throw cms::Exception("Unknown RecHit Type") << "RecHit of type " << type.name() << " not supported. (use c++filt to demangle the name)"; } return pID;}
edm::ProductID cms::clusterProductB | ( | const TrackingRecHit * | hit | ) |
Definition at line 43 of file TrackListMerger.cc.
Referenced by cms::TrackListMerger::produce().
{ return reinterpret_cast<const BaseTrackerRecHit *>(hit)->firstClusterRef().id(); }
cms::DEFINE_FWK_MODULE | ( | Type1MET | ) |
cms::DEFINE_FWK_MODULE | ( | TauMET | ) |
bool cms::operator!= | ( | MD5Result const & | a, |
MD5Result const & | b | ||
) | [inline] |
bool cms::operator< | ( | MD5Result const & | a, |
MD5Result const & | b | ||
) |
detail::Desired<E, detail::is_derived_or_same<Exception,E>::value>::type const& cms::operator<< | ( | E const & | e, |
std::ostream &(*)(std::ostream &) | f | ||
) | [inline] |
Definition at line 255 of file Exception.h.
References alignCSCRings::e, and f.
detail::Desired<E, detail::is_derived_or_same<Exception,E>::value>::type& cms::operator<< | ( | E & | e, |
std::ostream &(*)(std::ostream &) | f | ||
) | [inline] |
Definition at line 246 of file Exception.h.
References alignCSCRings::e, and f.
detail::Desired<E, detail::is_derived_or_same<Exception,E>::value>::type& cms::operator<< | ( | E & | e, |
T const & | stuff | ||
) | [inline] |
Definition at line 227 of file Exception.h.
References alignCSCRings::e.
detail::Desired<E, detail::is_derived_or_same<Exception,E>::value>::type const& cms::operator<< | ( | E const & | e, |
T const & | stuff | ||
) | [inline] |
Definition at line 236 of file Exception.h.
References alignCSCRings::e.
std::ostream& cms::operator<< | ( | std::ostream & | os, |
MD5Result const & | r | ||
) | [inline] |
Definition at line 46 of file Digest.h.
References cms::MD5Result::toString().
{ os << r.toString(); return os; }
detail::Desired<E, detail::is_derived_or_same<Exception,E>::value>::type const& cms::operator<< | ( | E const & | e, |
std::ios_base &(*)(std::ios_base &) | f | ||
) | [inline] |
Definition at line 275 of file Exception.h.
References alignCSCRings::e, and f.
std::ostream& cms::operator<< | ( | std::ostream & | ost, |
Exception const & | e | ||
) | [inline] |
Definition at line 216 of file Exception.h.
References cms::Exception::explainSelf().
{ ost << e.explainSelf(); return ost; }
detail::Desired<E, detail::is_derived_or_same<Exception,E>::value>::type& cms::operator<< | ( | E & | e, |
std::ios_base &(*)(std::ios_base &) | f | ||
) | [inline] |
Definition at line 265 of file Exception.h.
References alignCSCRings::e, and f.
bool cms::operator== | ( | MD5Result const & | a, |
MD5Result const & | b | ||
) |
void cms::set_to_default | ( | MD5Result & | val | ) |
Definition at line 44 of file Digest.cc.
References cms::MD5Result::bytes.
Referenced by cms::MD5Result::fromHexifiedString(), and cms::MD5Result::MD5Result().
{ val.bytes[0] = 0xd4; val.bytes[1] = 0x1d; val.bytes[2] = 0x8c; val.bytes[3] = 0xd9; val.bytes[4] = 0x8f; val.bytes[5] = 0x00; val.bytes[6] = 0xb2; val.bytes[7] = 0x04; val.bytes[8] = 0xe9; val.bytes[9] = 0x80; val.bytes[10] = 0x09; val.bytes[11] = 0x98; val.bytes[12] = 0xec; val.bytes[13] = 0xf8; val.bytes[14] = 0x42; val.bytes[15] = 0x7e; }
const char* cms::s_hexValues = "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff" [static] |
Definition at line 69 of file Digest.cc.
Referenced by cms::MD5Result::toString().