]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/icepack/IceDOM.cxx
History file of Wa98 updated and subdirectory icepack introduced.
[u/mrichter/AliRoot.git] / RALICE / icepack / IceDOM.cxx
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 IceDOM
21 // Signal/Hit handling of a generic IceCube Digital Optical Module (DOM).
22 // Basically this class provides an IceCube tailored user interface
23 // to the functionality of the class AliDevice via the generic IceGOM class.
24 //
25 // See IceGOM for some usage examples.
26 //
27 //--- Author: Nick van Eijndhoven 23-jun-2004 Utrecht University
28 //- Modified: NvE $Date$ Utrecht University
29 ///////////////////////////////////////////////////////////////////////////
30
31 #include "IceDOM.h"
32 #include "Riostream.h"
33  
34 ClassImp(IceDOM) // Class implementation to enable ROOT I/O
35  
36 IceDOM::IceDOM() : IceGOM()
37 {
38 // Default constructor.
39 }
40 ///////////////////////////////////////////////////////////////////////////
41 IceDOM::~IceDOM()
42 {
43 // Default destructor.
44 }
45 ///////////////////////////////////////////////////////////////////////////
46 IceDOM::IceDOM(const IceDOM& m) : IceGOM(m)
47 {
48 // Copy constructor.
49 }
50 ///////////////////////////////////////////////////////////////////////////
51 TObject* IceDOM::Clone(const char* name) const
52 {
53 // Make a deep copy of the current object and provide the pointer to the copy.
54 // This memberfunction enables automatic creation of new objects of the
55 // correct type depending on the object type, a feature which may be very useful
56 // for containers like AliEvent when adding objects in case the
57 // container owns the objects. This feature allows e.g. AliEvent
58 // to store either IceDOM objects or objects derived from IceDOM
59 // via tha AddDevice memberfunction, provided these derived classes also have
60 // a proper Clone memberfunction. 
61
62  IceDOM* m=new IceDOM(*this);
63  if (name)
64  {
65   if (strlen(name)) m->SetName(name);
66  }
67  return m;
68 }
69 ///////////////////////////////////////////////////////////////////////////