Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
Fireworks
Core
src
FWSimpleProxyHelper.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package: Core
4
// Class : FWSimpleProxyHelper
5
//
6
// Implementation:
7
// <Notes on implementation>
8
//
9
// Original Author: Chris Jones
10
// Created: Tue Dec 2 15:13:22 EST 2008
11
//
12
13
// system include files
14
#include <sstream>
15
#include <cassert>
16
17
#include "
FWCore/Utilities/interface/ObjectWithDict.h
"
18
#include "
FWCore/Utilities/interface/TypeWithDict.h
"
19
#include "TClass.h"
20
21
// user include files
22
#include "
Fireworks/Core/interface/FWSimpleProxyHelper.h
"
23
#include "
Fireworks/Core/interface/FWEventItem.h
"
24
25
26
//
27
// constants, enums and typedefs
28
//
29
30
//
31
// static data member definitions
32
//
33
34
//
35
// constructors and destructor
36
//
37
FWSimpleProxyHelper::FWSimpleProxyHelper
(
const
std::type_info& iType) :
38
m_itemType(&iType),
39
m_objectOffset(0)
40
{
41
}
42
43
// FWSimpleProxyHelper::FWSimpleProxyHelper(const FWSimpleProxyHelper& rhs)
44
// {
45
// // do actual copying here;
46
// }
47
48
//FWSimpleProxyHelper::~FWSimpleProxyHelper()
49
//{
50
//}
51
52
//
53
// assignment operators
54
//
55
// const FWSimpleProxyHelper& FWSimpleProxyHelper::operator=(const FWSimpleProxyHelper& rhs)
56
// {
57
// //An exception safe implementation is
58
// FWSimpleProxyHelper temp(rhs);
59
// swap(rhs);
60
//
61
// return *this;
62
// }
63
64
//
65
// member functions
66
//
67
void
68
FWSimpleProxyHelper::itemChanged
(
const
FWEventItem
* iItem)
69
{
70
if
(0!=iItem) {
71
edm::TypeWithDict
baseType(*
m_itemType
);
72
edm::TypeWithDict
mostDerivedType(*(iItem->
modelType
()->GetTypeInfo()));
73
// The - sign is there because this is the address of a derived object minus the address of the base object.
74
m_objectOffset
= -mostDerivedType.
getBaseClassOffset
(baseType);
75
}
76
}
77
78
//
79
// static member functions
80
//
FWSimpleProxyHelper.h
TypeWithDict.h
ObjectWithDict.h
FWSimpleProxyHelper::FWSimpleProxyHelper
FWSimpleProxyHelper(const std::type_info &)
Definition:
FWSimpleProxyHelper.cc:37
FWEventItem
Definition:
FWEventItem.h:56
FWEventItem.h
FWSimpleProxyHelper::m_objectOffset
unsigned int m_objectOffset
Definition:
FWSimpleProxyHelper.h:52
edm::TypeWithDict::getBaseClassOffset
int getBaseClassOffset(TypeWithDict const &baseClass) const
Definition:
TypeWithDict.cc:473
FWEventItem::modelType
const TClass * modelType() const
Definition:
FWEventItem.cc:561
edm::TypeWithDict
Definition:
TypeWithDict.h:45
FWSimpleProxyHelper::m_itemType
const std::type_info * m_itemType
Definition:
FWSimpleProxyHelper.h:51
FWSimpleProxyHelper::itemChanged
void itemChanged(const FWEventItem *)
Definition:
FWSimpleProxyHelper.cc:68
Generated for CMSSW Reference Manual by
1.8.5