Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cheprep::DefaultHepRepType Class Reference

#include <DefaultHepRepType.h>

Inheritance diagram for cheprep::DefaultHepRepType:
Collaboration diagram for cheprep::DefaultHepRepType:

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.

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
Definition: expat.h:151
virtual void addType(HepRepType *type)=0

Here is the call graph for this function:

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

Definition at line 25 of file DefaultHepRepType.cc.

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
Definition: expat.h:151

Here is the call graph for this function:

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.

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

Here is the call graph for this function:

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.

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
Definition: expat.h:331
virtual HepRepType * getSuperType()=0

Here is the call graph for this function:

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.

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

Here is the call graph for this function:

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.

79  {
80  return name;
81 }
const XML_Char * name
Definition: expat.h:151

Here is the caller graph for this function:

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.

39  {
40  return parent;
41 }

Here is the caller graph for this function:

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
Definition: expat.h:530

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