ROOT logo
#include "AliITSSumTP.h"
#include "AliTrackPointArray.h"

///////////////////////////////////////////////////////////////////
//                                                               //
// Class for ITS trackpoints summary + some aux. info  )         //
// Author: Ruben Shahoian                                        //
//                                                               //
///////////////////////////////////////////////////////////////////

/* $Id$ */

ClassImp(AliITSSumTP)

//__________________________________________
AliITSSumTP::AliITSSumTP(const AliITSSumTP& src) : 
TObject(src), fTracks(src.fTracks.GetEntriesFast()), fVertex(src.GetVertex()), 
  fNVars(src.fNVars), fCrvVars(0),fTPCVars(0)
{
  // copy c-tor
  fCrvVars = new Double32_t[fNVars];
  fTPCVars = new Double32_t[fNVars];
  TObjArray& arrSrc = src.GetTracks();
  for (int i=fNVars;i--;) {
    fCrvVars[i] = src.fCrvVars[i];
    fTPCVars[i] = src.fTPCVars[i];
  }
  for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i);
}

//__________________________________________
AliITSSumTP& AliITSSumTP::operator=(const AliITSSumTP& src)
{
  // assignment op-r
  if (this == &src) return *this;
  Reset();
  TObject::operator=(src);
  fVertex = src.GetVertex();
  fNVars = src.fNVars;
  fCrvVars = new Double32_t[fNVars];
  fTPCVars = new Double32_t[fNVars];
  TObjArray& arrSrc = src.GetTracks();
  for (int i=fNVars;i--;) {
    fCrvVars[i] = src.fCrvVars[i];
    fTPCVars[i] = src.fTPCVars[i];
  }
  for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i);
  return *this;
}

//__________________________________________
void AliITSSumTP::BookNTracks(Int_t n)
{
  // book space for tracks info
  delete[] fCrvVars; fCrvVars = 0;
  fNVars = n*kNVarPerTrack; 
  if (fNVars>0) {
    fCrvVars = new Double32_t[fNVars];
    fTPCVars = new Double32_t[fNVars];
    for (int i=fNVars;i--;) fCrvVars[i]=fTPCVars[i] = 0; 
  }
}

//__________________________________________
void AliITSSumTP::Reset()
{
  // reset object
  fTracks.Delete();
  delete[] fCrvVars; 
  delete[] fTPCVars; 
  fCrvVars = fTPCVars = 0;
  fNVars = 0;
  SetUniqueID(0);
}

//__________________________________________
void AliITSSumTP::Print(Option_t *) const
{
  // reset object
  printf("Vertex: "); fVertex.Print();
  int ntr = GetNTracks();
  printf("Number of tracks: %d\n",ntr);
  double xyz[3]={0,0,0};
  for (int itr=0;itr<ntr;itr++) {
    AliTrackPointArray* tr = GetTrack(itr);
    GetTPCInnerXYZ(itr,xyz);
    printf("#%2d : %d hits CrvGlo: %+.2e/%+.2e CrvTPC: %+.2e/%+.2e TPC_XYZ: %+8.3f %+8.3f %+9.3f\n",itr,tr->GetNPoints(),
	   GetCrvGlo(itr),GetCrvGloErr(itr), GetCrvTPC(itr),GetCrvTPCErr(itr),
	   xyz[0],xyz[1],xyz[2]);
  }
  //
}

 AliITSSumTP.cxx:1
 AliITSSumTP.cxx:2
 AliITSSumTP.cxx:3
 AliITSSumTP.cxx:4
 AliITSSumTP.cxx:5
 AliITSSumTP.cxx:6
 AliITSSumTP.cxx:7
 AliITSSumTP.cxx:8
 AliITSSumTP.cxx:9
 AliITSSumTP.cxx:10
 AliITSSumTP.cxx:11
 AliITSSumTP.cxx:12
 AliITSSumTP.cxx:13
 AliITSSumTP.cxx:14
 AliITSSumTP.cxx:15
 AliITSSumTP.cxx:16
 AliITSSumTP.cxx:17
 AliITSSumTP.cxx:18
 AliITSSumTP.cxx:19
 AliITSSumTP.cxx:20
 AliITSSumTP.cxx:21
 AliITSSumTP.cxx:22
 AliITSSumTP.cxx:23
 AliITSSumTP.cxx:24
 AliITSSumTP.cxx:25
 AliITSSumTP.cxx:26
 AliITSSumTP.cxx:27
 AliITSSumTP.cxx:28
 AliITSSumTP.cxx:29
 AliITSSumTP.cxx:30
 AliITSSumTP.cxx:31
 AliITSSumTP.cxx:32
 AliITSSumTP.cxx:33
 AliITSSumTP.cxx:34
 AliITSSumTP.cxx:35
 AliITSSumTP.cxx:36
 AliITSSumTP.cxx:37
 AliITSSumTP.cxx:38
 AliITSSumTP.cxx:39
 AliITSSumTP.cxx:40
 AliITSSumTP.cxx:41
 AliITSSumTP.cxx:42
 AliITSSumTP.cxx:43
 AliITSSumTP.cxx:44
 AliITSSumTP.cxx:45
 AliITSSumTP.cxx:46
 AliITSSumTP.cxx:47
 AliITSSumTP.cxx:48
 AliITSSumTP.cxx:49
 AliITSSumTP.cxx:50
 AliITSSumTP.cxx:51
 AliITSSumTP.cxx:52
 AliITSSumTP.cxx:53
 AliITSSumTP.cxx:54
 AliITSSumTP.cxx:55
 AliITSSumTP.cxx:56
 AliITSSumTP.cxx:57
 AliITSSumTP.cxx:58
 AliITSSumTP.cxx:59
 AliITSSumTP.cxx:60
 AliITSSumTP.cxx:61
 AliITSSumTP.cxx:62
 AliITSSumTP.cxx:63
 AliITSSumTP.cxx:64
 AliITSSumTP.cxx:65
 AliITSSumTP.cxx:66
 AliITSSumTP.cxx:67
 AliITSSumTP.cxx:68
 AliITSSumTP.cxx:69
 AliITSSumTP.cxx:70
 AliITSSumTP.cxx:71
 AliITSSumTP.cxx:72
 AliITSSumTP.cxx:73
 AliITSSumTP.cxx:74
 AliITSSumTP.cxx:75
 AliITSSumTP.cxx:76
 AliITSSumTP.cxx:77
 AliITSSumTP.cxx:78
 AliITSSumTP.cxx:79
 AliITSSumTP.cxx:80
 AliITSSumTP.cxx:81
 AliITSSumTP.cxx:82
 AliITSSumTP.cxx:83
 AliITSSumTP.cxx:84
 AliITSSumTP.cxx:85
 AliITSSumTP.cxx:86
 AliITSSumTP.cxx:87
 AliITSSumTP.cxx:88
 AliITSSumTP.cxx:89
 AliITSSumTP.cxx:90
 AliITSSumTP.cxx:91
 AliITSSumTP.cxx:92
 AliITSSumTP.cxx:93