25 #include <Riostream.h> 32 #include <TClonesArray.h> 98 for (Int_t i = 0; i<3; i++){
131 Error(
"ExpandBuffer",
"buffer doesn't exist");
145 Error(
"CompressBuffer",
"buffer doesn't exist");
152 Error(
"CompressBuffer",
"buffer doesn't exist");
175 for (i = n1;(i<n2);i++){
196 if ( (row>=rowold) && (row<rownew) )
return id;
197 if (row < rownew )
return -2;
212 TArrayI * buf =
new TArrayI;
213 Int_t *bufData = (Int_t *) calloc(elems,
sizeof(Int_t));
214 buf->Adopt(elems, bufData);
230 for (j = 0; j<num; j++,row++) {
231 if (level*all+col*
fNrows+row<elems) (*buf)[level*all+col*
fNrows+row]=id;
253 TArrayI * buf =
new TArrayI;
255 TArrayI * index =
new TArrayI;
256 index->Set(
fNcols*fNlevel);
265 Int_t *cbuff=
fTracks->GetArray();
267 for (Int_t lev =0; lev<
fNlevel; lev++){
268 for (Int_t col = 0; col<
fNcols; col++){
272 (*index)[lev*fNcols+col]=icurrent+1;
274 for (Int_t row = 0; row<
fNrows;row++){
280 if ((icurrent+1)>=buf->fN) buf->Set(icurrent*2+1);
281 (*buf)[icurrent] = inum;
283 (*buf)[icurrent] = lastID;
294 if (icurrent>=buf->fN) buf->Set(icurrent*2+1);
295 (*buf)[icurrent]= -izero;
303 if ((icurrent+1)>=buf->fN) buf->Set(icurrent*2+1);
304 (*buf)[icurrent] = inum;
306 (*buf)[icurrent] = lastID;
319 if (icurrent>=buf->fN) buf->Set(icurrent*2);
320 (*buf)[icurrent]= -izero;
324 if ((icurrent+1)>=buf->fN) buf->Set(icurrent*2);
325 (*buf)[icurrent] = inum;
327 (*buf)[icurrent] = id;
331 buf->Set(icurrent+1);
365 Float_t x1, Float_t x2, Float_t y1, Float_t y2)
373 snprintf(ch,30,
"Track Segment_%d level %d ",
GetID(),level );
380 for (Int_t i = 0; i<
fNrows;i++)
381 for (Int_t j = 0; j<
fNcols;j++)
388 if (his==0)
return 0;
389 if (option!=0) his->Draw(option);
397 for (Int_t i=0;i<
fNcols;i++){
398 for(Int_t j=1;j<
fNrows-1;j++){
void SetTrackIDFast(Int_t value, Int_t row, Int_t column, Int_t level)
void ExpandTrackBuffer2()
TArrayI * fTrIndex
index position of column
Int_t fNlevel
number of tracks etries for one digit
void AllocateTrack(Int_t length)
virtual Int_t GetTrackID(Int_t row, Int_t column, Int_t level)
void CompresTrackBuffer2()
void ExpandTrackBuffer1()
Short_t GetDigitFast(Int_t row, Int_t column)
AliH2F * DrawTracks(const char *option=0, Int_t level=0, Float_t x1=-1, Float_t x2=-1, Float_t y1=-1, Float_t y2=-1)
TArrayI * fTracks
buffer of track index
virtual void CompresTrackBuffer(Int_t bufType)
Int_t GetTrackID2(Int_t row, Int_t column, Int_t level)
virtual void ExpandTrackBuffer()
Int_t GetTrackIDFast(Int_t row, Int_t column, Int_t level)
void SetDigitFast(Short_t value, Int_t row, Int_t column)
AliH2F * GetSubrange2d(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax)
Int_t fNrows
number of rows in Segment
AliSimDigits & operator=(const AliSimDigits &digits)
Int_t fTrBufType
buffer type of the tracks
Int_t fNcols
number of collumns in Segment
void CompresTrackBuffer1()
Int_t GetTrackID1(Int_t row, Int_t column, Int_t level)