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 a generic Amanda Optical Module (AOM).
21 // Basically this class provides an IceCube tailored user interface
22 // to the functionality of the class AliDevice via the generic IceGOM class.
24 // See IceGOM for some usage examples.
26 //--- Author: Nick van Eijndhoven 23-jun-2004 Utrecht University
27 //- Modified: NvE $Date$ Utrecht University
28 ///////////////////////////////////////////////////////////////////////////
31 #include "Riostream.h"
33 ClassImp(IceAOM) // Class implementation to enable ROOT I/O
35 IceAOM::IceAOM() : IceGOM()
37 // Default constructor.
39 ///////////////////////////////////////////////////////////////////////////
42 // Default destructor.
44 ///////////////////////////////////////////////////////////////////////////
45 IceAOM::IceAOM(const IceAOM& m) : IceGOM(m)
49 ///////////////////////////////////////////////////////////////////////////
50 TObject* IceAOM::Clone(const char* name) const
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 IceAOM objects or objects derived from IceAOM
58 // via tha AddDevice memberfunction, provided these derived classes also have
59 // a proper Clone memberfunction.
61 IceAOM* m=new IceAOM(*this);
64 if (strlen(name)) m->SetName(name);
68 ///////////////////////////////////////////////////////////////////////////