Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DefaultHepRepInstance.cc
Go to the documentation of this file.
1 // Copyright FreeHEP, 2005.
2 
3 #include <iostream>
4 
6 
7 using namespace std;
8 using namespace HEPREP;
9 
10 /**
11  * @author Mark Donszelmann
12  * @version $Id: DefaultHepRepInstance.cc 66373 2012-12-18 09:41:34Z gcosmo $
13  */
14 namespace cheprep {
15 
16 DefaultHepRepInstance::DefaultHepRepInstance(HepRepInstance* instance, HepRepType* heprepType)
17  : DefaultHepRepAttribute(), parent(instance), type(heprepType) {
18 
19  if (type == NULL) cerr << "HepRepInstance cannot be created without a HepRepType." << endl;
20  parent->addInstance(this);
21 }
22 
24  : DefaultHepRepAttribute(), parent(NULL), type(heprepType) {
25 
26  if (type == NULL) cerr << "HepRepInstance cannot be created without a HepRepType." << endl;
27  instanceTree->addInstance(this);
28 }
29 
31  parent = NULL;
32  type = NULL;
33  for (vector<HepRepInstance*>::iterator i1 = instances.begin(); i1 != instances.end(); i1++) {
34  delete (*i1);
35  }
36  for (vector<HepRepPoint*>::iterator i2 = points.begin(); i2 != points.end(); i2++) {
37  delete (*i2);
38  }
39 }
40 
42  cerr << "DefaultHepRepInstance::overlay(HepRepInstance * instance) not implemented." << endl;
43 }
44 
46  cerr << "DefaultHepRepInstance::copy(HepRepTypeTree*, HepRepInstance*, HepRepSelectFilter*) not implemented." << endl;
47  return NULL;
48 }
49 
51  cerr << "DefaultHepRepInstance::copy(HepRepTypeTree*, HepRepInstanceTree*, HepRepSelectFilter*) not implemented." << endl;
52  return NULL;
53 }
54 
56  return type;
57 }
58 
60  points.push_back(point);
61 }
62 
63 vector<HepRepPoint*> DefaultHepRepInstance::getPoints() {
64  return points;
65 }
66 
68  return parent;
69 }
70 
72  instances.push_back(instance);
73 }
74 
76  cerr << "DefaultHepRepInstance::removeInstance(HepRepInstance*) not implemented." << endl;
77 }
78 
79 vector<HepRepInstance*> DefaultHepRepInstance::getInstances() {
80  return instances;
81 }
82 
85  return (value != NULL) ? value : type->getAttValue(name);
86 }
87 
88 } // cheprep
void addInstance(HEPREP::HepRepInstance *instance)
virtual void addInstance(HepRepInstance *instance)=0
const XML_Char * name
void addPoint(HEPREP::HepRepPoint *point)
DefaultHepRepInstance(HEPREP::HepRepInstance *parent, HEPREP::HepRepType *type)
HEPREP::HepRepInstance * getSuperInstance()
virtual HepRepAttValue * getAttValue(std::string name)=0
std::vector< HEPREP::HepRepPoint * > getPoints()
HEPREP::HepRepAttValue * getAttValue(std::string name)
HEPREP::HepRepAttValue * getAttValueFromNode(std::string lowerCaseName)
void overlay(HEPREP::HepRepInstance *instance)
const XML_Char int const XML_Char * value
virtual void addInstance(HepRepInstance *instance)=0
void removeInstance(HEPREP::HepRepInstance *instance)
HEPREP::HepRepInstance * copy(HEPREP::HepRepTypeTree *typeTree, HEPREP::HepRepInstance *parent, HEPREP::HepRepSelectFilter *filter)
std::vector< HEPREP::HepRepInstance * > getInstances()