]>
Commit | Line | Data |
---|---|---|
cc80f89e | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line 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. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /* | |
17 | $Log$ | |
18 | Revision 1.1.4.2 2000/04/10 11:32:37 kowal2 | |
19 | ||
20 | "ROOT"-based class with some extra functionality | |
21 | ||
22 | */ | |
23 | ||
24 | /////////////////////////////////////////////////////////////////////// | |
25 | // Added additional functionality to original TArrayI // | |
26 | // multiple inheritance from TObject to be possible use automatic // | |
27 | // branch mechanism for tree | |
28 | // function Expand to be possible expand array without deleting // | |
29 | // array contents // | |
30 | // // | |
31 | // Origin: Marian Ivanov, Uni. of Bratislava, ivanov@fmph.uniba.sk // | |
32 | // // | |
33 | /////////////////////////////////////////////////////////////////////// | |
34 | #include "AliArrayI.h" | |
35 | ClassImp(AliArrayI) | |
36 | void AliArrayI::Expand(Int_t n) | |
37 | { | |
38 | // | |
39 | // Set array size of TArrayI object to n integers and copy old array | |
40 | // If n<0 leave array unchanged. | |
41 | // user are responsible for appopiate size of array | |
42 | // | |
43 | if (n < 0) return; | |
44 | fArray = (Int_t*) TStorage::ReAlloc(fArray, n * sizeof(Int_t),fN * sizeof(Int_t)); | |
45 | if (fArray!=0) fN= n; | |
46 | } | |
47 | ||
48 | void AliArrayI::Streamer(TBuffer &R__b) | |
49 | { | |
50 | // Stream an object of class AliTPC. | |
51 | ||
52 | if (R__b.IsReading()) { | |
53 | Version_t R__v = R__b.ReadVersion(); if (R__v) { } | |
54 | TObject::Streamer(R__b); | |
55 | //read pad parameters | |
56 | R__b >> fN; | |
57 | if (fArray!=0) { | |
58 | delete [] fArray; | |
59 | fArray = 0; | |
60 | } | |
61 | if (fN>0){ | |
62 | fArray = new Int_t[fN]; | |
63 | R__b.ReadFastArray(fArray,fN); | |
64 | } | |
65 | } else { | |
66 | R__b.WriteVersion(AliArrayI::IsA()); | |
67 | TObject::Streamer(R__b); | |
68 | R__b << fN; | |
69 | if (fN>0) R__b.WriteFastArray(fArray,fN); | |
70 | } | |
71 | } |