1 /*******************************************************************************
2 * Copyright(c) 2003, IceCube Experiment at the South Pole. All rights reserved.
4 * Author: The IceCube RALICE-based Offline Project.
5 * Contributors are mentioned in the code where appropriate.
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 *******************************************************************************/
18 ///////////////////////////////////////////////////////////////////////////
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.
25 // See IceGOM for some usage examples.
27 //--- Author: Nick van Eijndhoven 23-jun-2004 Utrecht University
28 //- Modified: NvE $Date$ Utrecht University
29 ///////////////////////////////////////////////////////////////////////////
32 #include "Riostream.h"
34 ClassImp(IceTDOM) // Class implementation to enable ROOT I/O
36 IceTDOM::IceTDOM() : IceDOM()
38 // Default constructor.
40 ///////////////////////////////////////////////////////////////////////////
43 // Default destructor.
45 ///////////////////////////////////////////////////////////////////////////
46 IceTDOM::IceTDOM(const IceTDOM& m) : IceDOM(m)
50 ///////////////////////////////////////////////////////////////////////////
51 TObject* IceTDOM::Clone(const char* name) const
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.
62 IceTDOM* m=new IceTDOM(*this);
65 if (strlen(name)) m->SetName(name);
69 ///////////////////////////////////////////////////////////////////////////