Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
cheprep::DefaultHepRepType Class Reference

#include <DefaultHepRepType.h>

Inheritance diagram for cheprep::DefaultHepRepType:
cheprep::DefaultHepRepDefinition HEPREP::HepRepType cheprep::DefaultHepRepAttribute HEPREP::HepRepDefinition HEPREP::HepRepDefinition HEPREP::HepRepAttribute HEPREP::HepRepAttribute HEPREP::HepRepAttribute

Public Member Functions

 DefaultHepRepType (HEPREP::HepRepType *parent, std::string name)
 
 DefaultHepRepType (HEPREP::HepRepTypeTree *parent, std::string name)
 
 ~DefaultHepRepType ()
 
HEPREP::HepRepTypegetSuperType ()
 
HEPREP::HepRepAttDefgetAttDef (std::string name)
 
HEPREP::HepRepAttValuegetAttValue (std::string name)
 
HEPREP::HepRepTypecopy (HEPREP::HepRepType *parent)
 
std::string getName ()
 
std::string getFullName ()
 
std::string getDescription ()
 
void setDescription (std::string description)
 
std::string getInfoURL ()
 
void setInfoURL (std::string infoURL)
 
void addType (HEPREP::HepRepType *type)
 
std::vector< HEPREP::HepRepType * > getTypeList ()
 
- Public Member Functions inherited from cheprep::DefaultHepRepDefinition
 DefaultHepRepDefinition ()
 
 ~DefaultHepRepDefinition ()
 
void addAttDef (HEPREP::HepRepAttDef *hepRepAttDef)
 
void addAttDef (std::string name, std::string desc, std::string type, std::string extra)
 
std::set< HEPREP::HepRepAttDef * > getAttDefsFromNode ()
 
HEPREP::HepRepAttDefgetAttDefFromNode (std::string lowerCaseName)
 
- Public Member Functions inherited from cheprep::DefaultHepRepAttribute
 DefaultHepRepAttribute ()
 
 ~DefaultHepRepAttribute ()
 
std::set
< HEPREP::HepRepAttValue * > 
getAttValuesFromNode ()
 
void addAttValue (HEPREP::HepRepAttValue *hepRepAttValue)
 
void addAttValue (std::string key, char *value, int showLabel)
 
void addAttValue (std::string key, std::string value, int showLabel)
 
void addAttValue (std::string key, int value, int showLabel)
 
void addAttValue (std::string key, int64 value, int showLabel)
 
void addAttValue (std::string key, double value, int showLabel)
 
void addAttValue (std::string key, bool value, int showLabel)
 
void addAttValue (std::string key, std::vector< double > value, int showLabel)
 
void addAttValue (std::string key, double red, double green, double blue, double alpha, int showLabel)
 
HEPREP::HepRepAttValuegetAttValueFromNode (std::string lowerCaseName)
 
HEPREP::HepRepAttValueremoveAttValue (std::string key)
 
- Public Member Functions inherited from HEPREP::HepRepAttribute
virtual ~HepRepAttribute ()
 Destructor. More...
 
- Public Member Functions inherited from HEPREP::HepRepDefinition
virtual ~HepRepDefinition ()
 Destructor. More...
 
- Public Member Functions inherited from HEPREP::HepRepType
virtual ~HepRepType ()
 Destructor. More...
 

Detailed Description

Definition at line 25 of file DefaultHepRepType.h.

Constructor & Destructor Documentation

cheprep::DefaultHepRepType::DefaultHepRepType ( HEPREP::HepRepType parent,
std::string  name 
)

Definition at line 14 of file DefaultHepRepType.cc.

References HEPREP::HepRepType::addType().

15  : DefaultHepRepDefinition(), parent(parentType), name(typeName) {
16  this->description = "No Description";
17  this->infoURL = "No Info URL";
18 
19  // HepRepTypes are sometimes used without a parent (top-level)
20  if (parent != NULL) {
21  parent->addType(this);
22  }
23 }
const XML_Char * name
virtual void addType(HepRepType *type)=0
cheprep::DefaultHepRepType::DefaultHepRepType ( HEPREP::HepRepTypeTree parent,
std::string  name 
)

Definition at line 25 of file DefaultHepRepType.cc.

References HEPREP::HepRepTypeTree::addType().

26  : DefaultHepRepDefinition(), parent(NULL), name(typeName) {
27  this->description = "No Description";
28  this->infoURL = "No Info URL";
29 
30  parentTypeTree->addType(this);
31 }
const XML_Char * name
cheprep::DefaultHepRepType::~DefaultHepRepType ( )

Definition at line 33 of file DefaultHepRepType.cc.

33  {
34  for (vector<HepRepType*>::iterator i1 = types.begin(); i1 != types.end(); i1++) {
35  delete (*i1);
36  }
37 }

Member Function Documentation

void cheprep::DefaultHepRepType::addType ( HEPREP::HepRepType type)
virtual

Adds a sub-type to this type.

Parameters
typesub-type to be added.

Implements HEPREP::HepRepType.

Definition at line 103 of file DefaultHepRepType.cc.

103  {
104  // FIXME should check if type already exists
105  types.push_back(type);
106 }
HepRepType * cheprep::DefaultHepRepType::copy ( HEPREP::HepRepType parent)
virtual

Returns a deep copy of this type.

Parameters
parentto which this copy is added.
Returns
copy of this type.

Implements HEPREP::HepRepType.

Definition at line 74 of file DefaultHepRepType.cc.

74  {
75  cerr << "DefaultHepRepType::copy(HepRepType*) not implemented." << endl;
76  return NULL;
77 }
HepRepAttDef * cheprep::DefaultHepRepType::getAttDef ( std::string  name)
virtual

Return a named attribute definition searched on this node and any parent nodes.

Parameters
nameof attribute definition.
Returns
attribute definition.

Implements cheprep::DefaultHepRepDefinition.

Definition at line 43 of file DefaultHepRepType.cc.

References HEPREP::HepRepDefinition::getAttDefFromNode(), and HEPREP::HepRepType::getSuperType().

43  {
44  HepRepAttDef* def = NULL;
45  HepRepType* type = this;
46  while ((def == NULL) && (type != NULL)) {
47  def = type->getAttDefFromNode(defName);
48  type = type->getSuperType();
49  }
50  if (def == NULL) {
51  cerr << "ERROR: No HepRepDefaults, trying to get definition for: " << defName << endl;
52  // FIXME, no HepRepDefaults
53  }
54  return def;
55 }
virtual HepRepAttDef * getAttDefFromNode(std::string lowerCaseName)=0
virtual HepRepType * getSuperType()=0
HepRepAttValue * cheprep::DefaultHepRepType::getAttValue ( std::string  name)
virtual

searched for a value with given name. Search up the type tree if needed.

Implements cheprep::DefaultHepRepDefinition.

Definition at line 60 of file DefaultHepRepType.cc.

References HEPREP::HepRepAttribute::getAttValueFromNode(), and HEPREP::HepRepType::getSuperType().

60  {
61  HepRepAttValue* value = NULL;
62  HepRepType* type = this;
63  while ((value == NULL) && (type != NULL)) {
64  value = type->getAttValueFromNode(attName);
65  type = type->getSuperType();
66  }
67  if (value == NULL) {
68  cerr << "ERROR: No HepRepDefaults, trying to get value for: " << attName << endl;
69  // FIXME, no HepRepDefaults
70  }
71  return value;
72 }
virtual HepRepAttValue * getAttValueFromNode(std::string lowerCaseName)=0
const XML_Char int const XML_Char * value
virtual HepRepType * getSuperType()=0
string cheprep::DefaultHepRepType::getDescription ( )
virtual

Returns the description of this type.

Returns
description of type.

Implements HEPREP::HepRepType.

Definition at line 87 of file DefaultHepRepType.cc.

87  {
88  return description;
89 }
string cheprep::DefaultHepRepType::getFullName ( )
virtual

Returns the full name of this type. The full name is constructed from the root of the typeTree (without the typeTreeName) by concatenating all the node names separated by slashes "/". For example: Geometry/InnerDetector/Sector24/Wire20

Returns
full name of type.
See also
getName()

Implements HEPREP::HepRepType.

Definition at line 83 of file DefaultHepRepType.cc.

References HEPREP::HepRepType::getFullName(), getName(), and getSuperType().

83  {
84  return (getSuperType() == NULL) ? getName() : getSuperType()->getFullName() + "/" + getName();
85 }
HEPREP::HepRepType * getSuperType()
string cheprep::DefaultHepRepType::getInfoURL ( )
virtual

Returns the information URL of this type.

Returns
info URL of type.

Implements HEPREP::HepRepType.

Definition at line 95 of file DefaultHepRepType.cc.

95  {
96  return infoURL;
97 }
string cheprep::DefaultHepRepType::getName ( )
virtual

Returns the name of this type. This is the full name if one uses flat-types, and the node name if one uses hierarchical typenames. It is the name supplied at construction of the type.

Returns
name of type.
See also
getFullName()

Implements HEPREP::HepRepType.

Definition at line 79 of file DefaultHepRepType.cc.

Referenced by getFullName().

79  {
80  return name;
81 }
const XML_Char * name
HepRepType * cheprep::DefaultHepRepType::getSuperType ( )
virtual

Returns the parent of this type.

Returns
parent of type, or null if top-level.

Implements HEPREP::HepRepType.

Definition at line 39 of file DefaultHepRepType.cc.

Referenced by getFullName().

39  {
40  return parent;
41 }
vector< HepRepType * > cheprep::DefaultHepRepType::getTypeList ( )
virtual

Returns a collection of all the sub-types of this type.

Returns
collection of HepRepTypes.

Implements HEPREP::HepRepType.

Definition at line 108 of file DefaultHepRepType.cc.

108  {
109  return types;
110 }
void cheprep::DefaultHepRepType::setDescription ( std::string  description)
virtual

Sets the description of this type.

Parameters
infoURL

Implements HEPREP::HepRepType.

Definition at line 91 of file DefaultHepRepType.cc.

91  {
92  this->description = desc;
93 }
void cheprep::DefaultHepRepType::setInfoURL ( std::string  infoURL)
virtual

Sets the information URL of this type.

Parameters
infoURL

Implements HEPREP::HepRepType.

Definition at line 99 of file DefaultHepRepType.cc.

99  {
100  this->infoURL = info;
101 }
const XML_Char XML_Encoding * info

The documentation for this class was generated from the following files: