Containers definition
[u/mrichter/AliRoot.git] / CONTAINERS / AliArrayS.cxx
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.2  2000/04/17 09:37:33  kowal2
19 removed obsolete AliTPCDigitsDisplay.C
20
21 Revision 1.1.4.2  2000/04/10 11:32:37  kowal2
22
23 "ROOT"-based class with some extra functionality
24
25 */
26
27 ///////////////////////////////////////////////////////////////////////
28 //   Added additional functionality  to original TArrayS              //
29 //   multiple inheritance from TObject to be possible use automatic   //
30 //   branch mechanism for tree
31 //   function Expand to be possible expand array without deleting     //
32 //   array contents                                                  //                  //
33 //                                                                   //
34 //  Origin:  Marian Ivanov, Uni. of Bratislava, ivanov@fmph.uniba.sk // 
35 //                                                                   //  
36 ///////////////////////////////////////////////////////////////////////
37 #include "AliArrayS.h"
38 ClassImp(AliArrayS)
39 void AliArrayS::Expand(Int_t n)
40 {
41   //
42   // Set array size of TArrayS object to n integers and copy old array
43   // If n<0 leave array unchanged.
44   // user are responsible for apropriate size of array
45   // 
46   if (n < 0) return;  
47   fArray = (Short_t*)  TStorage::ReAlloc(fArray, n * sizeof(UShort_t),fN * sizeof(UShort_t));
48   if (fArray!=0) fN= n; 
49   else fN =0;
50 }
51
52
53 /*
54 void AliArrayS::Streamer(TBuffer &R__b)
55 {
56    // Stream an object of class AliTPC.
57
58    if (R__b.IsReading()) {
59       Version_t R__v = R__b.ReadVersion(); if (R__v) { }
60       TObject::Streamer(R__b);     
61       //read pad parameters
62       R__b >> fN;
63       if (fArray!=0){
64         delete [] fArray;
65         fArray =0;
66       }
67       if (fN>0){
68         fArray = new Short_t[fN];
69         R__b.ReadFastArray(fArray,fN); 
70       }
71    } else {
72       R__b.WriteVersion(AliArrayS::IsA());
73       TObject::Streamer(R__b);   
74       R__b << fN;      
75       if (fN>0) R__b.WriteFastArray(fArray,fN); 
76    }
77 }
78  */