]>
Commit | Line | Data |
---|---|---|
1 | #include "AliITSSumTP.h" | |
2 | #include "AliTrackPointArray.h" | |
3 | ||
4 | /////////////////////////////////////////////////////////////////// | |
5 | // // | |
6 | // Class for ITS trackpoints summary + some aux. info ) // | |
7 | // Author: Ruben Shahoian // | |
8 | // // | |
9 | /////////////////////////////////////////////////////////////////// | |
10 | ||
11 | /* $Id$ */ | |
12 | ||
13 | ClassImp(AliITSSumTP) | |
14 | ||
15 | //__________________________________________ | |
16 | AliITSSumTP::AliITSSumTP(const AliITSSumTP& src) : | |
17 | TObject(src), fTracks(src.fTracks.GetEntriesFast()), fVertex(src.GetVertex()), | |
18 | fNVars(src.fNVars), fCrvVars(0),fTPCVars(0) | |
19 | { | |
20 | // copy c-tor | |
21 | fCrvVars = new Double32_t[fNVars]; | |
22 | fTPCVars = new Double32_t[fNVars]; | |
23 | TObjArray& arrSrc = src.GetTracks(); | |
24 | for (int i=fNVars;i--;) { | |
25 | fCrvVars[i] = src.fCrvVars[i]; | |
26 | fTPCVars[i] = src.fTPCVars[i]; | |
27 | } | |
28 | for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i); | |
29 | } | |
30 | ||
31 | //__________________________________________ | |
32 | AliITSSumTP& AliITSSumTP::operator=(const AliITSSumTP& src) | |
33 | { | |
34 | // assignment op-r | |
35 | if (this == &src) return *this; | |
36 | Reset(); | |
37 | TObject::operator=(src); | |
38 | fVertex = src.GetVertex(); | |
39 | fNVars = src.fNVars; | |
40 | fCrvVars = new Double32_t[fNVars]; | |
41 | fTPCVars = new Double32_t[fNVars]; | |
42 | TObjArray& arrSrc = src.GetTracks(); | |
43 | for (int i=fNVars;i--;) { | |
44 | fCrvVars[i] = src.fCrvVars[i]; | |
45 | fTPCVars[i] = src.fTPCVars[i]; | |
46 | } | |
47 | for (int i=arrSrc.GetEntriesFast();i--;) fTracks.AddAtAndExpand(arrSrc.UncheckedAt(i),i); | |
48 | return *this; | |
49 | } | |
50 | ||
51 | //__________________________________________ | |
52 | void AliITSSumTP::BookNTracks(Int_t n) | |
53 | { | |
54 | // book space for tracks info | |
55 | delete[] fCrvVars; fCrvVars = 0; | |
56 | fNVars = n*kNVarPerTrack; | |
57 | if (fNVars>0) { | |
58 | fCrvVars = new Double32_t[fNVars]; | |
59 | fTPCVars = new Double32_t[fNVars]; | |
60 | for (int i=fNVars;i--;) fCrvVars[i]=fTPCVars[i] = 0; | |
61 | } | |
62 | } | |
63 | ||
64 | //__________________________________________ | |
65 | void AliITSSumTP::Reset() | |
66 | { | |
67 | // reset object | |
68 | fTracks.Delete(); | |
69 | delete[] fCrvVars; | |
70 | delete[] fTPCVars; | |
71 | fCrvVars = fTPCVars = 0; | |
72 | fNVars = 0; | |
73 | SetUniqueID(0); | |
74 | } | |
75 | ||
76 | //__________________________________________ | |
77 | void AliITSSumTP::Print(Option_t *) const | |
78 | { | |
79 | // reset object | |
80 | printf("Vertex: "); fVertex.Print(); | |
81 | int ntr = GetNTracks(); | |
82 | printf("Number of tracks: %d\n",ntr); | |
83 | double xyz[3]={0,0,0}; | |
84 | for (int itr=0;itr<ntr;itr++) { | |
85 | AliTrackPointArray* tr = GetTrack(itr); | |
86 | GetTPCInnerXYZ(itr,xyz); | |
87 | printf("#%2d : %d hits CrvGlo: %+.2e/%+.2e CrvTPC: %+.2e/%+.2e TPC_XYZ: %+8.3f %+8.3f %+9.3f\n",itr,tr->GetNPoints(), | |
88 | GetCrvGlo(itr),GetCrvGloErr(itr), GetCrvTPC(itr),GetCrvTPCErr(itr), | |
89 | xyz[0],xyz[1],xyz[2]); | |
90 | } | |
91 | // | |
92 | } | |
93 |