]>
Commit | Line | Data |
---|---|---|
00b6d74f | 1 | /////////////////////////////////////////////////////////////////////////// |
2 | // Copyright(c) 2003, IceCube Experiment at the South Pole. | |
3 | // All rights reserved. | |
4 | // | |
5 | // Author: The IceCube RALICE-based Offline Project. | |
6 | // Contributors are mentioned in the code where appropriate. | |
7 | // | |
8 | // Permission to use, copy, modify and distribute this software and its | |
9 | // documentation strictly for non-commercial purposes is hereby granted | |
10 | // without fee, provided that the above copyright notice appears in all | |
11 | // copies and that both the copyright notice and this permission notice | |
12 | // appear in the supporting documentation. | |
13 | // The authors make no claims about the suitability of this software for | |
14 | // any purpose. It is provided "as is" without express or implied warranty. | |
15 | /////////////////////////////////////////////////////////////////////////// | |
16 | ||
17 | // $Id$ | |
18 | ||
19 | /////////////////////////////////////////////////////////////////////////// | |
20 | // Class IceIDOM | |
21 | // Signal/Hit handling of an IceCube In-ice Digital Optical Module (IDOM). | |
22 | // Basically this class provides an IceCube tailored user interface | |
23 | // to the functionality of the class AliDevice via the generic IceDOM | |
24 | // and IceGOM classes. | |
25 | // | |
26 | // See IceGOM for some usage examples. | |
27 | // | |
28 | //--- Author: Nick van Eijndhoven 23-jun-2004 Utrecht University | |
29 | //- Modified: NvE $Date$ Utrecht University | |
30 | /////////////////////////////////////////////////////////////////////////// | |
31 | ||
32 | #include "IceIDOM.h" | |
33 | #include "Riostream.h" | |
34 | ||
35 | ClassImp(IceIDOM) // Class implementation to enable ROOT I/O | |
36 | ||
37 | IceIDOM::IceIDOM() : IceDOM() | |
38 | { | |
39 | // Default constructor. | |
40 | } | |
41 | /////////////////////////////////////////////////////////////////////////// | |
42 | IceIDOM::~IceIDOM() | |
43 | { | |
44 | // Default destructor. | |
45 | } | |
46 | /////////////////////////////////////////////////////////////////////////// | |
47 | IceIDOM::IceIDOM(const IceIDOM& m) : IceDOM(m) | |
48 | { | |
49 | // Copy constructor. | |
50 | } | |
51 | /////////////////////////////////////////////////////////////////////////// | |
52 | TObject* IceIDOM::Clone(const char* name) const | |
53 | { | |
54 | // Make a deep copy of the current object and provide the pointer to the copy. | |
55 | // This memberfunction enables automatic creation of new objects of the | |
56 | // correct type depending on the object type, a feature which may be very useful | |
57 | // for containers like AliEvent when adding objects in case the | |
58 | // container owns the objects. This feature allows e.g. AliEvent | |
59 | // to store either IceIDOM objects or objects derived from IceIDOM | |
60 | // via tha AddDevice memberfunction, provided these derived classes also have | |
61 | // a proper Clone memberfunction. | |
62 | ||
63 | IceIDOM* m=new IceIDOM(*this); | |
64 | if (name) | |
65 | { | |
66 | if (strlen(name)) m->SetName(name); | |
67 | } | |
68 | return m; | |
69 | } | |
70 | /////////////////////////////////////////////////////////////////////////// |