]>
Commit | Line | Data |
---|---|---|
8026dac6 | 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 | *******************************************************************************/ | |
00b6d74f | 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 | /////////////////////////////////////////////////////////////////////////// |