]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/icepack/IceTDOM.cxx
18-feb-2005 NvE Copyright format modified in all .cxx source files in line with Ralice
[u/mrichter/AliRoot.git] / RALICE / icepack / IceTDOM.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 IceTDOM
20 // Signal/Hit handling of an IceTop Digital Optical Module (TDOM).
21 // Basically this class provides an IceCube tailored user interface
22 // to the functionality of the class AliDevice via the generic IceDOM
23 // and IceGOM classes.
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 "IceTDOM.h"
32 #include "Riostream.h"
33  
34 ClassImp(IceTDOM) // Class implementation to enable ROOT I/O
35  
36 IceTDOM::IceTDOM() : IceDOM()
37 {
38 // Default constructor.
39 }
40 ///////////////////////////////////////////////////////////////////////////
41 IceTDOM::~IceTDOM()
42 {
43 // Default destructor.
44 }
45 ///////////////////////////////////////////////////////////////////////////
46 IceTDOM::IceTDOM(const IceTDOM& m) : IceDOM(m)
47 {
48 // Copy constructor.
49 }
50 ///////////////////////////////////////////////////////////////////////////
51 TObject* IceTDOM::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 IceTDOM objects or objects derived from IceTDOM
59 // via tha AddDevice memberfunction, provided these derived classes also have
60 // a proper Clone memberfunction. 
61
62  IceTDOM* m=new IceTDOM(*this);
63  if (name)
64  {
65   if (strlen(name)) m->SetName(name);
66  }
67  return m;
68 }
69 ///////////////////////////////////////////////////////////////////////////