CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
edm::BranchDescription Class Reference

#include <BranchDescription.h>

Classes

struct  Transients
 

Public Types

enum  MatchMode { Strict = 0, Permissive }
 

Public Member Functions

BranchID const & aliasForBranchID () const
 
bool availableOnlyAtEndTransition () const
 
int basketSize () const
 
std::set< std::string > const & branchAliases () const
 
 BranchDescription ()
 
 BranchDescription (BranchType const &branchType, std::string const &moduleLabel, std::string const &processName, std::string const &className, std::string const &friendlyClassName, std::string const &productInstanceName, std::string const &moduleName, ParameterSetID const &parameterSetID, TypeWithDict const &theTypeWithDict, bool produced=true, bool availableOnlyAtEndTransition=false, std::set< std::string > const &aliases=std::set< std::string >())
 
 BranchDescription (BranchDescription const &aliasForBranch, std::string const &moduleLabelAlias, std::string const &productInstanceAlias)
 
BranchID const & branchID () const
 
std::string const & branchName () const
 
BranchType const & branchType () const
 
std::string const & className () const
 
void clearBranchName ()
 
bool dropped () const
 
std::string const & friendlyClassName () const
 
std::string const & fullClassName () const
 
void init ()
 
void initBranchName ()
 
void initFromDictionary ()
 
void initializeTransients ()
 
void insertBranchAlias (std::string const &alias)
 
bool isAlias () const
 
bool isAnyAlias () const
 
bool isMergeable () const
 
bool isProvenanceSetOnRead () const noexcept
 
bool isSwitchAlias () const
 
bool isTransform () const
 
void merge (BranchDescription const &other)
 
std::string const & moduleLabel () const
 
std::string const & moduleName () const
 
bool onDemand () const
 
BranchID const & originalBranchID () const
 
ParameterSetID const & parameterSetID () const
 
bool present () const
 
std::string const & processName () const
 
bool produced () const
 
std::string const & productInstanceName () const
 
void setBasketSize (int size)
 
void setDropped (bool isDropped)
 
void setIsMergeable (bool v)
 
void setIsProvenanceSetOnRead (bool value=true) noexcept
 
void setIsTransform (bool isTransform)
 
void setOnDemand (bool isOnDemand)
 
void setProduced (bool isProduced)
 
void setSplitLevel (int level)
 
void setSwitchAliasForBranch (BranchDescription const &aliasForBranch)
 
void setSwitchAliasModuleLabel (std::string label)
 
void setTransient (bool isTransient)
 
void setUnwrappedType (TypeWithDict const &type)
 
void setWrappedName (std::string const &name)
 
void setWrappedType (TypeWithDict const &type)
 
int splitLevel () const
 
BranchID const & switchAliasForBranchID () const
 
std::string const & switchAliasModuleLabel () const
 
bool transient () const
 
TypeWithDict const & unwrappedType () const
 
TypeID unwrappedTypeID () const
 
void updateFriendlyClassName ()
 
std::string const & wrappedName () const
 
TypeWithDict const & wrappedType () const
 
TypeID wrappedTypeID () const
 
void write (std::ostream &os) const
 
 ~BranchDescription ()
 

Static Public Attributes

static int const invalidBasketSize = 0
 
static int const invalidSplitLevel = -1
 

Private Member Functions

void throwIfInvalid_ () const
 

Private Attributes

BranchID aliasForBranchID_
 
std::set< std::string > branchAliases_
 
BranchID branchID_
 
BranchType branchType_
 
std::string friendlyClassName_
 
std::string fullClassName_
 
std::string moduleLabel_
 
std::string processName_
 
std::string productInstanceName_
 
Transients transient_
 

Detailed Description

Definition at line 32 of file BranchDescription.h.

Member Enumeration Documentation

◆ MatchMode

Enumerator
Strict 
Permissive 

Definition at line 36 of file BranchDescription.h.

Constructor & Destructor Documentation

◆ BranchDescription() [1/3]

edm::BranchDescription::BranchDescription ( )

Definition at line 38 of file BranchDescription.cc.

40  moduleLabel_(),
41  processName_(),
42  branchID_(),
48  transient_() {
49  // do not call init here! It will result in an exception throw.
50  }
std::set< std::string > branchAliases_

◆ BranchDescription() [2/3]

edm::BranchDescription::BranchDescription ( BranchType const &  branchType,
std::string const &  moduleLabel,
std::string const &  processName,
std::string const &  className,
std::string const &  friendlyClassName,
std::string const &  productInstanceName,
std::string const &  moduleName,
ParameterSetID const &  parameterSetID,
TypeWithDict const &  theTypeWithDict,
bool  produced = true,
bool  availableOnlyAtEndTransition = false,
std::set< std::string > const &  aliases = std::set<std::string>() 
)

Definition at line 52 of file BranchDescription.cc.

References availableOnlyAtEndTransition(), edm::BranchDescription::Transients::availableOnlyAtEndTransition_, init(), moduleName(), edm::BranchDescription::Transients::moduleName_, parameterSetID(), edm::BranchDescription::Transients::parameterSetID_, produced(), setDropped(), setOnDemand(), setProduced(), setUnwrappedType(), and transient_.

67  branchID_(),
71  branchAliases_(aliases),
72  transient_() {
73  setDropped(false);
75  setOnDemand(false);
79  setUnwrappedType(theTypeWithDict);
80  init();
81  }
ParameterSetID const & parameterSetID() const
BranchType const & branchType() const
void setOnDemand(bool isOnDemand)
std::string const & moduleName() const
std::string const & processName() const
std::string const & friendlyClassName() const
std::string const & className() const
std::string const & productInstanceName() const
void setDropped(bool isDropped)
std::set< std::string > branchAliases_
bool availableOnlyAtEndTransition() const
void setUnwrappedType(TypeWithDict const &type)
void setProduced(bool isProduced)
std::string const & moduleLabel() const

◆ BranchDescription() [3/3]

edm::BranchDescription::BranchDescription ( BranchDescription const &  aliasForBranch,
std::string const &  moduleLabelAlias,
std::string const &  productInstanceAlias 
)

Definition at line 83 of file BranchDescription.cc.

References availableOnlyAtEndTransition(), edm::BranchDescription::Transients::availableOnlyAtEndTransition_, init(), moduleName(), edm::BranchDescription::Transients::moduleName_, parameterSetID(), edm::BranchDescription::Transients::parameterSetID_, produced(), setDropped(), setOnDemand(), setProduced(), setUnwrappedType(), transient_, and unwrappedType().

86  : branchType_(aliasForBranch.branchType()),
87  moduleLabel_(moduleLabelAlias),
88  processName_(aliasForBranch.processName()),
89  branchID_(),
90  fullClassName_(aliasForBranch.className()),
91  friendlyClassName_(aliasForBranch.friendlyClassName()),
92  productInstanceName_(productInstanceAlias),
93  branchAliases_(aliasForBranch.branchAliases()),
94  aliasForBranchID_(aliasForBranch.branchID()),
95  transient_() {
96  setDropped(false);
97  setProduced(aliasForBranch.produced());
98  setOnDemand(false); // will be re-set externally to the aliasForBranch.onDemand() after that one has been set
99  transient_.availableOnlyAtEndTransition_ = aliasForBranch.availableOnlyAtEndTransition();
100  transient_.moduleName_ = aliasForBranch.moduleName();
101  transient_.parameterSetID_ = aliasForBranch.parameterSetID();
102  setUnwrappedType(aliasForBranch.unwrappedType());
103  init();
104  }
void setOnDemand(bool isOnDemand)
void setDropped(bool isDropped)
std::set< std::string > branchAliases_
void setUnwrappedType(TypeWithDict const &type)
void setProduced(bool isProduced)

◆ ~BranchDescription()

edm::BranchDescription::~BranchDescription ( )
inline

Definition at line 57 of file BranchDescription.h.

57 {}

Member Function Documentation

◆ aliasForBranchID()

BranchID const& edm::BranchDescription::aliasForBranchID ( ) const
inline

Definition at line 75 of file BranchDescription.h.

References aliasForBranchID_.

75 { return aliasForBranchID_; }

◆ availableOnlyAtEndTransition()

bool edm::BranchDescription::availableOnlyAtEndTransition ( ) const
inline

◆ basketSize()

int edm::BranchDescription::basketSize ( ) const
inline

◆ branchAliases()

std::set<std::string> const& edm::BranchDescription::branchAliases ( ) const
inline

◆ branchID()

BranchID const& edm::BranchDescription::branchID ( ) const
inline

◆ branchName()

std::string const& edm::BranchDescription::branchName ( ) const
inline

◆ branchType()

BranchType const& edm::BranchDescription::branchType ( ) const
inline

◆ className()

std::string const& edm::BranchDescription::className ( ) const
inline

◆ clearBranchName()

void edm::BranchDescription::clearBranchName ( )
inline

◆ dropped()

bool edm::BranchDescription::dropped ( ) const
inline

◆ friendlyClassName()

std::string const& edm::BranchDescription::friendlyClassName ( ) const
inline

◆ fullClassName()

std::string const& edm::BranchDescription::fullClassName ( ) const
inline

◆ init()

void edm::BranchDescription::init ( void  )
inline

◆ initBranchName()

void edm::BranchDescription::initBranchName ( )

Definition at line 106 of file BranchDescription.cc.

References branchID_, branchName(), edm::BranchDescription::Transients::branchName_, relativeConstraints::empty, Exception, friendlyClassName(), friendlyClassName_, edm::BranchID::isValid(), moduleLabel(), l1tstage2_dqm_sourceclient-live_cfg::period, processName(), processName_, productInstanceName(), productInstanceName_, edm::BranchID::setID(), AlCaHLTBitMon_QueryRunRegistry::string, throwIfInvalid_(), and transient_.

Referenced by init(), edm::StreamedProduct::StreamedProduct(), and updateFriendlyClassName().

106  {
107  if (!branchName().empty()) {
108  return; // already called
109  }
110  throwIfInvalid_();
111 
112  char const underscore('_');
113  char const period('.');
114 
115  if (friendlyClassName_.find(underscore) != std::string::npos) {
116  throw cms::Exception("IllegalCharacter")
117  << "Class name '" << friendlyClassName()
118  << "' contains an underscore ('_'), which is illegal in the name of a product.\n";
119  }
120 
121  // Module labels of non-persistent products are allowed to contain
122  // underscores. For module labels of persistent products, the module
123  // label is checked for underscores in the function initFromDictionary
124  // after we determine whether the product is persistent or not.
125 
126  if (productInstanceName_.find(underscore) != std::string::npos) {
127  throw cms::Exception("IllegalCharacter")
128  << "Product instance name '" << productInstanceName()
129  << "' contains an underscore ('_'), which is illegal in a product instance name.\n";
130  }
131 
132  if (processName_.find(underscore) != std::string::npos) {
133  throw cms::Exception("IllegalCharacter")
134  << "Process name '" << processName()
135  << "' contains an underscore ('_'), which is illegal in a process name.\n";
136  }
137 
139  brName.reserve(friendlyClassName().size() + moduleLabel().size() + productInstanceName().size() +
140  processName().size() + 4);
141  brName += friendlyClassName();
142  brName += underscore;
143  brName += moduleLabel();
144  brName += underscore;
145  brName += productInstanceName();
146  brName += underscore;
147  brName += processName();
148  brName += period;
149 
150  if (!branchID_.isValid()) {
151  branchID_.setID(brName);
152  }
153  }
size
Write out results.
std::string const & processName() const
std::string const & friendlyClassName() const
bool isValid() const
Definition: BranchID.h:22
std::string const & branchName() const
std::string const & productInstanceName() const
std::string const & moduleLabel() const
void setID(std::string const &branchName)
Definition: BranchID.h:20

◆ initFromDictionary()

void edm::BranchDescription::initFromDictionary ( )

Definition at line 155 of file BranchDescription.cc.

References cms::Exception::addContext(), basketSize(), branchName(), edm::TypeWithDict::byName(), Exception, fullClassName(), edm::TypeWithDict::getClass(), invalidBasketSize, invalidSplitLevel, moduleLabel(), moduleLabel_, setBasketSize(), setSplitLevel(), setTransient(), setUnwrappedType(), setWrappedName(), setWrappedType(), splitLevel(), AlCaHLTBitMon_QueryRunRegistry::string, throwIfInvalid_(), unwrappedType(), pfClustersFromHGC3DClusters_cfi::wp, edm::wrappedClassName(), wrappedName(), and wrappedType().

Referenced by init().

155  {
156  if (bool(wrappedType())) {
157  return; // already initialized;
158  }
159 
160  throwIfInvalid_();
161 
162  try {
164  // unwrapped type.
166  if (!bool(unwrappedType())) {
169  setTransient(false);
170  return;
171  }
172  } catch (edm::Exception& caughtException) {
173  caughtException.addContext(std::string{"While initializing meta data for branch: "} + branchName());
174  throw;
175  }
176 
178  try {
179  setWrappedType(wrType);
180  if (!bool(wrappedType())) {
183  return;
184  }
185  } catch (edm::Exception& caughtException) {
186  caughtException.addContext(std::string{"While initializing meta data for branch: "} + branchName());
187  throw;
188  }
189 
190  setTransient(false);
193  TDictAttributeMap* wp = wrappedType().getClass()->GetAttributeMap();
194  if (wp && wp->HasKey("persistent") && !strcmp(wp->GetPropertyAsString("persistent"), "false")) {
195  // Set transient if persistent == "false".
196  setTransient(true);
197  return;
198  } else {
199  // Module labels of persistent products cannot contain underscores,
200  // but for non-persistent products it is allowed because path names
201  // are used as module labels for path status products and there
202  // are many path names that include underscores.
203  char const underscore('_');
204  if (moduleLabel_.find(underscore) != std::string::npos) {
205  throw cms::Exception("IllegalCharacter")
206  << "Module label '" << moduleLabel()
207  << "' contains an underscore ('_'), which is illegal in a module label.\n";
208  }
209  }
210 
211  if (wp && wp->HasKey("splitLevel")) {
212  setSplitLevel(strtol(wp->GetPropertyAsString("splitLevel"), nullptr, 0));
213  if (splitLevel() < 0) {
214  throw cms::Exception("IllegalSplitLevel") << "' An illegal ROOT split level of " << splitLevel()
215  << " is specified for class " << wrappedName() << ".'\n";
216  }
217  setSplitLevel(splitLevel() + 1); //Compensate for wrapper
218  }
219  if (wp && wp->HasKey("basketSize")) {
220  setBasketSize(strtol(wp->GetPropertyAsString("basketSize"), nullptr, 0));
221  if (basketSize() <= 0) {
222  throw cms::Exception("IllegalBasketSize") << "' An illegal ROOT basket size of " << basketSize()
223  << " is specified for class " << wrappedName() << "'.\n";
224  }
225  }
226  }
static int const invalidSplitLevel
static int const invalidBasketSize
std::string const & fullClassName() const
TypeWithDict const & unwrappedType() const
void setWrappedType(TypeWithDict const &type)
static TypeWithDict byName(std::string const &name)
Definition: TypeWithDict.cc:74
void setTransient(bool isTransient)
std::string const & branchName() const
void setWrappedName(std::string const &name)
void setSplitLevel(int level)
std::string const & wrappedName() const
std::string wrappedClassName(std::string const &iFullName)
void addContext(std::string const &context)
Definition: Exception.cc:169
TClass * getClass() const
void setUnwrappedType(TypeWithDict const &type)
void setBasketSize(int size)
std::string const & moduleLabel() const
TypeWithDict const & wrappedType() const

◆ initializeTransients()

void edm::BranchDescription::initializeTransients ( )
inline

◆ insertBranchAlias()

void edm::BranchDescription::insertBranchAlias ( std::string const &  alias)
inline

Definition at line 121 of file BranchDescription.h.

References SiStripOfflineCRack_cfg::alias, and branchAliases_.

◆ isAlias()

bool edm::BranchDescription::isAlias ( ) const
inline

Definition at line 76 of file BranchDescription.h.

References aliasForBranchID_, edm::BranchID::isValid(), and produced().

Referenced by isAnyAlias(), and edm::Principal::Principal().

76 { return aliasForBranchID_.isValid() && produced(); }
bool isValid() const
Definition: BranchID.h:22

◆ isAnyAlias()

bool edm::BranchDescription::isAnyAlias ( ) const
inline

Definition at line 112 of file BranchDescription.h.

References isAlias(), isSwitchAlias(), and or.

Referenced by GlobalRecHitsAnalyzer::GlobalRecHitsAnalyzer(), and edm::TypeMatch::operator()().

112 { return isAlias() or isSwitchAlias(); }
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
Definition: Activities.doc:12

◆ isMergeable()

bool edm::BranchDescription::isMergeable ( ) const
inline

◆ isProvenanceSetOnRead()

bool edm::BranchDescription::isProvenanceSetOnRead ( ) const
inlinenoexcept

◆ isSwitchAlias()

bool edm::BranchDescription::isSwitchAlias ( ) const
inline

◆ isTransform()

bool edm::BranchDescription::isTransform ( ) const
inline

◆ merge()

void edm::BranchDescription::merge ( BranchDescription const &  other)

Definition at line 228 of file BranchDescription.cc.

References basketSize(), branchAliases_, invalidBasketSize, invalidSplitLevel, trackingPlots::other, setBasketSize(), setSplitLevel(), and splitLevel().

228  {
229  branchAliases_.insert(other.branchAliases().begin(), other.branchAliases().end());
230  if (splitLevel() == invalidSplitLevel)
231  setSplitLevel(other.splitLevel());
232  if (basketSize() == invalidBasketSize)
233  setBasketSize(other.basketSize());
234  }
static int const invalidSplitLevel
static int const invalidBasketSize
void setSplitLevel(int level)
std::set< std::string > branchAliases_
void setBasketSize(int size)

◆ moduleLabel()

std::string const& edm::BranchDescription::moduleLabel ( ) const
inline

◆ moduleName()

std::string const& edm::BranchDescription::moduleName ( ) const
inline

◆ onDemand()

bool edm::BranchDescription::onDemand ( ) const
inline

◆ originalBranchID()

BranchID const& edm::BranchDescription::originalBranchID ( ) const
inline

◆ parameterSetID()

ParameterSetID const& edm::BranchDescription::parameterSetID ( ) const
inline

◆ present()

bool edm::BranchDescription::present ( ) const
inline

◆ processName()

std::string const& edm::BranchDescription::processName ( ) const
inline

◆ produced()

bool edm::BranchDescription::produced ( ) const
inline

◆ productInstanceName()

std::string const& edm::BranchDescription::productInstanceName ( ) const
inline

◆ setBasketSize()

void edm::BranchDescription::setBasketSize ( int  size)
inline

◆ setDropped()

void edm::BranchDescription::setDropped ( bool  isDropped)
inline

◆ setIsMergeable()

void edm::BranchDescription::setIsMergeable ( bool  v)
inline

◆ setIsProvenanceSetOnRead()

void edm::BranchDescription::setIsProvenanceSetOnRead ( bool  value = true)
inlinenoexcept

◆ setIsTransform()

void edm::BranchDescription::setIsTransform ( bool  isTransform)
inline

◆ setOnDemand()

void edm::BranchDescription::setOnDemand ( bool  isOnDemand)
inline

◆ setProduced()

void edm::BranchDescription::setProduced ( bool  isProduced)
inline

◆ setSplitLevel()

void edm::BranchDescription::setSplitLevel ( int  level)
inline

◆ setSwitchAliasForBranch()

void edm::BranchDescription::setSwitchAliasForBranch ( BranchDescription const &  aliasForBranch)

Definition at line 236 of file BranchDescription.cc.

References availableOnlyAtEndTransition(), edm::BranchDescription::Transients::availableOnlyAtEndTransition_, branchAliases(), branchAliases_, branchType(), branchType_, Exception, edm::errors::LogicError, edm::TypeID::name(), originalBranchID(), produced(), edm::BranchDescription::Transients::switchAliasForBranchID_, transient_, edm::TypeWithDict::typeInfo(), unwrappedType(), and unwrappedTypeID().

236  {
237  if (branchType_ != aliasForBranch.branchType()) {
238  throw Exception(errors::LogicError) << "BranchDescription::setSwitchAliasForBranch: branchType (" << branchType_
239  << ") differs from aliasForBranch (" << aliasForBranch.branchType()
240  << ").\nPlease report this error to the FWCore developers";
241  }
242  if (produced() != aliasForBranch.produced()) {
243  throw Exception(errors::LogicError) << "BranchDescription::setSwitchAliasForBranch: produced differs from "
244  "aliasForBranch.\nPlease report this error to the FWCore developers";
245  }
246  if (unwrappedTypeID().typeInfo() != aliasForBranch.unwrappedType().typeInfo()) {
248  << "BranchDescription::setSwitchAliasForBranch: unwrapped type info (" << unwrappedTypeID().name()
249  << ") differs from aliasForBranch (" << aliasForBranch.unwrappedType().typeInfo().name()
250  << ").\nPlease report this error to the FWCore developers";
251  }
252 
253  branchAliases_ = aliasForBranch.branchAliases();
254  transient_.switchAliasForBranchID_ = aliasForBranch.originalBranchID();
255  transient_.availableOnlyAtEndTransition_ = aliasForBranch.availableOnlyAtEndTransition();
256  }
const char * name() const
Definition: TypeIDBase.h:44
TypeID unwrappedTypeID() const
std::set< std::string > branchAliases_
constexpr const std::type_info & typeInfo() const
Definition: TypeIDBase.h:50

◆ setSwitchAliasModuleLabel()

void edm::BranchDescription::setSwitchAliasModuleLabel ( std::string  label)
inline

◆ setTransient()

void edm::BranchDescription::setTransient ( bool  isTransient)
inline

◆ setUnwrappedType()

void edm::BranchDescription::setUnwrappedType ( TypeWithDict const &  type)
inline

◆ setWrappedName()

void edm::BranchDescription::setWrappedName ( std::string const &  name)
inline

◆ setWrappedType()

void edm::BranchDescription::setWrappedType ( TypeWithDict const &  type)
inline

◆ splitLevel()

int edm::BranchDescription::splitLevel ( ) const
inline

◆ switchAliasForBranchID()

BranchID const& edm::BranchDescription::switchAliasForBranchID ( ) const
inline

◆ switchAliasModuleLabel()

std::string const& edm::BranchDescription::switchAliasModuleLabel ( ) const
inline

◆ throwIfInvalid_()

void edm::BranchDescription::throwIfInvalid_ ( ) const
private

Definition at line 275 of file BranchDescription.cc.

References branchType_, friendlyClassName_, fullClassName_, edm::Hash< I >::isValid(), moduleLabel_, edm::NumBranchTypes, parameterSetID(), processName_, produced(), and edm::throwExceptionWithText().

Referenced by initBranchName(), and initFromDictionary().

275  {
277  throwExceptionWithText("Illegal BranchType detected");
278 
279  if (moduleLabel_.empty())
280  throwExceptionWithText("Module label is not allowed to be empty");
281 
282  if (processName_.empty())
283  throwExceptionWithText("Process name is not allowed to be empty");
284 
285  if (fullClassName_.empty())
286  throwExceptionWithText("Full class name is not allowed to be empty");
287 
288  if (friendlyClassName_.empty())
289  throwExceptionWithText("Friendly class name is not allowed to be empty");
290 
291  if (produced() && !parameterSetID().isValid())
292  throwExceptionWithText("Invalid ParameterSetID detected");
293  }
ParameterSetID const & parameterSetID() const
bool isValid() const
Definition: Hash.h:141
void throwExceptionWithText(char const *txt)

◆ transient()

bool edm::BranchDescription::transient ( ) const
inline

◆ unwrappedType()

TypeWithDict const& edm::BranchDescription::unwrappedType ( ) const
inline

◆ unwrappedTypeID()

TypeID edm::BranchDescription::unwrappedTypeID ( ) const
inline

◆ updateFriendlyClassName()

void edm::BranchDescription::updateFriendlyClassName ( )

◆ wrappedName()

std::string const& edm::BranchDescription::wrappedName ( ) const
inline

◆ wrappedType()

TypeWithDict const& edm::BranchDescription::wrappedType ( ) const
inline

◆ wrappedTypeID()

TypeID edm::BranchDescription::wrappedTypeID ( ) const
inline

◆ write()

void edm::BranchDescription::write ( std::ostream &  os) const

Definition at line 258 of file BranchDescription.cc.

References branchID(), branchType(), friendlyClassName(), fullClassName(), moduleLabel(), processName(), and productInstanceName().

Referenced by pkg.AbstractPkg::generate(), and edm::StableProvenance::write().

258  {
259  os << "Branch Type = " << branchType() << std::endl;
260  os << "Process Name = " << processName() << std::endl;
261  os << "ModuleLabel = " << moduleLabel() << std::endl;
262  os << "Branch ID = " << branchID() << '\n';
263  os << "Class Name = " << fullClassName() << '\n';
264  os << "Friendly Class Name = " << friendlyClassName() << '\n';
265  os << "Product Instance Name = " << productInstanceName() << std::endl;
266  }
BranchID const & branchID() const
BranchType const & branchType() const
std::string const & fullClassName() const
std::string const & processName() const
std::string const & friendlyClassName() const
std::string const & productInstanceName() const
std::string const & moduleLabel() const

Member Data Documentation

◆ aliasForBranchID_

BranchID edm::BranchDescription::aliasForBranchID_
private

Definition at line 240 of file BranchDescription.h.

Referenced by aliasForBranchID(), isAlias(), and originalBranchID().

◆ branchAliases_

std::set<std::string> edm::BranchDescription::branchAliases_
private

◆ branchID_

BranchID edm::BranchDescription::branchID_
private

Definition at line 222 of file BranchDescription.h.

Referenced by branchID(), initBranchName(), and originalBranchID().

◆ branchType_

BranchType edm::BranchDescription::branchType_
private

Definition at line 212 of file BranchDescription.h.

Referenced by branchType(), setSwitchAliasForBranch(), and throwIfInvalid_().

◆ friendlyClassName_

std::string edm::BranchDescription::friendlyClassName_
private

◆ fullClassName_

std::string edm::BranchDescription::fullClassName_
private

Definition at line 225 of file BranchDescription.h.

Referenced by fullClassName(), and throwIfInvalid_().

◆ invalidBasketSize

int const edm::BranchDescription::invalidBasketSize = 0
static

◆ invalidSplitLevel

int const edm::BranchDescription::invalidSplitLevel = -1
static

◆ moduleLabel_

std::string edm::BranchDescription::moduleLabel_
private

◆ processName_

std::string edm::BranchDescription::processName_
private

Definition at line 219 of file BranchDescription.h.

Referenced by initBranchName(), processName(), and throwIfInvalid_().

◆ productInstanceName_

std::string edm::BranchDescription::productInstanceName_
private

Definition at line 232 of file BranchDescription.h.

Referenced by initBranchName(), and productInstanceName().

◆ transient_

Transients edm::BranchDescription::transient_
private