]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/icepack/IceDOM.cxx
22-jun-2005 NvE Specific job folder recursively removed from the generic AliJob folde...
[u/mrichter/AliRoot.git] / RALICE / icepack / IceDOM.cxx
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  *******************************************************************************/
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  
33 ClassImp(IceDOM) // Class implementation to enable ROOT I/O
34  
35 IceDOM::IceDOM() : IceGOM()
36 {
37 // Default constructor.
38 }
39 ///////////////////////////////////////////////////////////////////////////
40 IceDOM::~IceDOM()
41 {
42 // Default destructor.
43 }
44 ///////////////////////////////////////////////////////////////////////////
45 IceDOM::IceDOM(const IceDOM& m) : IceGOM(m)
46 {
47 // Copy constructor.
48 }
49 ///////////////////////////////////////////////////////////////////////////
50 TObject* 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 ///////////////////////////////////////////////////////////////////////////