]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/icepack/IceDOM.cxx
Additional protection
[u/mrichter/AliRoot.git] / RALICE / icepack / IceDOM.cxx
CommitLineData
8026dac6 1/*******************************************************************************
2 * Copyright(c) 2003, IceCube Experiment at the South Pole. All rights reserved.
3 *
4 * Author: The IceCube RALICE-based Offline Project.
5 * Contributors are mentioned in the code where appropriate.
6 *
7 * Permission to use, copy, modify and distribute this software and its
8 * documentation strictly for non-commercial purposes is hereby granted
9 * without fee, provided that the above copyright notice appears in all
10 * copies and that both the copyright notice and this permission notice
11 * appear in the supporting documentation.
12 * The authors make no claims about the suitability of this software for
13 * any purpose. It is provided "as is" without express or implied warranty.
14 *******************************************************************************/
00b6d74f 15
16// $Id$
17
18///////////////////////////////////////////////////////////////////////////
19// Class IceDOM
20// Signal/Hit handling of a generic IceCube Digital Optical Module (DOM).
21// Basically this class provides an IceCube tailored user interface
22// to the functionality of the class AliDevice via the generic IceGOM class.
23//
24// See IceGOM for some usage examples.
25//
26//--- Author: Nick van Eijndhoven 23-jun-2004 Utrecht University
27//- Modified: NvE $Date$ Utrecht University
28///////////////////////////////////////////////////////////////////////////
29
30#include "IceDOM.h"
31#include "Riostream.h"
32
33ClassImp(IceDOM) // Class implementation to enable ROOT I/O
34
35IceDOM::IceDOM() : IceGOM()
36{
37// Default constructor.
38}
39///////////////////////////////////////////////////////////////////////////
40IceDOM::~IceDOM()
41{
42// Default destructor.
43}
44///////////////////////////////////////////////////////////////////////////
45IceDOM::IceDOM(const IceDOM& m) : IceGOM(m)
46{
47// Copy constructor.
48}
49///////////////////////////////////////////////////////////////////////////
50TObject* IceDOM::Clone(const char* name) const
51{
52// Make a deep copy of the current object and provide the pointer to the copy.
53// This memberfunction enables automatic creation of new objects of the
54// correct type depending on the object type, a feature which may be very useful
55// for containers like AliEvent when adding objects in case the
56// container owns the objects. This feature allows e.g. AliEvent
57// to store either IceDOM objects or objects derived from IceDOM
58// via tha AddDevice memberfunction, provided these derived classes also have
59// a proper Clone memberfunction.
60
61 IceDOM* m=new IceDOM(*this);
62 if (name)
63 {
64 if (strlen(name)) m->SetName(name);
65 }
66 return m;
67}
68///////////////////////////////////////////////////////////////////////////