![]() |
AliPhysics
96866e8 (96866e8)
|
Smart pointer implementation for objects inheriting from TObject. More...
#include <AliEmcalTrackSelection.h>
Public Member Functions | |
AliEmcalManagedObject () | |
Dummy constructor. More... | |
AliEmcalManagedObject (TObject *object, bool owner=true) | |
Default constructor, creates new managed object. More... | |
AliEmcalManagedObject (const AliEmcalManagedObject &ref) | |
Copy constructor. More... | |
AliEmcalManagedObject & | operator= (const AliEmcalManagedObject &ref) |
virtual | ~AliEmcalManagedObject () |
operator bool () const | |
Check whether a managed object is set. More... | |
bool | IsOwner () const |
Checks whether the object is set. More... | |
void | SetOwner (bool owner=true) |
Specifying ownership over object. More... | |
void | SetObject (TObject *managedObject, bool owner=true) |
Set new managed object with ownership. More... | |
TObject * | GetObject () |
Providing access to managed object. More... | |
Protected Member Functions | |
void | Cleanup () |
Private Attributes | |
Bool_t | fOwner |
Switch defining ownership over object. More... | |
TObject * | fManagedObject |
Pointer to object handled by the smart pointer. More... | |
Smart pointer implementation for objects inheriting from TObject.
Simple smart pointer implementation inheriting from TObject which defines ownership in an object-by-object approach. The pointer will handle deletes only in case it is owner over the object.
Attention: This is a simplified version of a smart pointer, different pointers do not know from each other, which might lead into troubles once the object is copied. Can be done in a much more elegant way using c++11 shared_ptr.
Definition at line 64 of file AliEmcalTrackSelection.h.
AliEmcalManagedObject::AliEmcalManagedObject | ( | ) |
Dummy constructor.
Definition at line 181 of file AliEmcalTrackSelection.cxx.
AliEmcalManagedObject::AliEmcalManagedObject | ( | TObject * | object, |
bool | owner = true |
||
) |
Default constructor, creates new managed object.
[in] | object | Managed object |
[in] | owner | Flag for ownership |
Definition at line 189 of file AliEmcalTrackSelection.cxx.
AliEmcalManagedObject::AliEmcalManagedObject | ( | const AliEmcalManagedObject & | ref | ) |
Copy constructor.
By default the new smart pointer will not own the object of the reference smart pointer.
[in] | ref | Reference for the copy |
Definition at line 196 of file AliEmcalTrackSelection.cxx.
|
inlinevirtual |
Destructor, will delete the managed object in case it is the owner
Definition at line 99 of file AliEmcalTrackSelection.h.
|
protected |
Cleanup managed object (remove if pointer is owner)
Definition at line 214 of file AliEmcalTrackSelection.cxx.
Referenced by operator=().
|
inline |
Providing access to managed object.
Definition at line 136 of file AliEmcalTrackSelection.h.
Referenced by AliEmcalTrackSelection::GetTrackCuts(), and AliEmcalTrackSelectionESD::SaveQAObjects().
|
inline |
Checks whether the object is set.
Definition at line 111 of file AliEmcalTrackSelection.h.
|
inline |
Check whether a managed object is set.
Definition at line 105 of file AliEmcalTrackSelection.h.
AliEmcalManagedObject & AliEmcalManagedObject::operator= | ( | const AliEmcalManagedObject & | ref | ) |
Assignment operator By default the new smart pointer will not own the object of the reference smart pointer.
[in] | ref | Reference for assignment |
Definition at line 203 of file AliEmcalTrackSelection.cxx.
|
inline |
Set new managed object with ownership.
In case the pointer managed already an object it will cleanup the object if necessary
[in] | managedObject | New object managed by this smart pointer |
[in] | owenr | Ownership status of the new object |
Definition at line 126 of file AliEmcalTrackSelection.h.
|
inline |
Specifying ownership over object.
[in] | owner | Ownership (if true then object takes over ownership) |
Definition at line 117 of file AliEmcalTrackSelection.h.
Referenced by AliEmcalTrackSelectionESD::SaveQAObjects().
|
private |
Pointer to object handled by the smart pointer.
Definition at line 147 of file AliEmcalTrackSelection.h.
Referenced by Cleanup(), and operator=().
|
private |
Switch defining ownership over object.
Definition at line 146 of file AliEmcalTrackSelection.h.
Referenced by Cleanup(), and operator=().