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