]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSSumTP.h
Updated histos with multiplicity and centrality
[u/mrichter/AliRoot.git] / ITS / AliITSSumTP.h
CommitLineData
8f359d7b 1#ifndef ALIITSSUMTP_H
2#define ALIITSSUMTP_H
3
4///////////////////////////////////////////////////////////////////
5// //
6// Class for ITS trackpoints summary + some aux. info ) //
7// Author: Ruben Shahoian //
8// //
9///////////////////////////////////////////////////////////////////
10
11/* $Id$ */
12
13class AliTrackPointArray;
14#include <TObjArray.h>
15#include "AliESDVertex.h"
16
17class AliITSSumTP : public TObject
18{
19 public:
a4b1ccc5 20 enum {kCrvTPC,kCrvTPCErr,kCrvGlo,kCrvGloErr,kTPCInX,kTPCInY,kTPCInZ,kNVarPerTrack};
8f359d7b 21 //
22 AliITSSumTP() : fTracks(0),fVertex(),fNVars(0),fCrvVars(0) {fTracks.SetOwner(kTRUE);}
23 AliITSSumTP(const AliITSSumTP& src);
24 virtual ~AliITSSumTP() {Reset();}
25 AliITSSumTP &operator=(const AliITSSumTP& src);
6fe97dd9 26 virtual void Print(Option_t* opt="") const;
8f359d7b 27 //
28 AliESDVertex& GetVertex() const {return (AliESDVertex&)fVertex;}
29 AliTrackPointArray* GetTrack(Int_t i) const {return (AliTrackPointArray*)fTracks[i];}
30 TObjArray& GetTracks() const {return (TObjArray&) fTracks;}
31 Int_t GetNTracks() const {return fNVars/kNVarPerTrack;}
32 Double_t GetCrvTPC(Int_t i) const {return fCrvVars[i*kNVarPerTrack+kCrvTPC];}
33 Double_t GetCrvTPCErr(Int_t i) const {return fCrvVars[i*kNVarPerTrack+kCrvTPCErr];}
34 Double_t GetCrvGlo(Int_t i) const {return fCrvVars[i*kNVarPerTrack+kCrvGlo];}
35 Double_t GetCrvGloErr(Int_t i) const {return fCrvVars[i*kNVarPerTrack+kCrvGloErr];}
a4b1ccc5 36 void GetTPCInnerXYZ(int i, double* xyz) const;
37 void SetTPCInnerXYZ(int i, const double* xyz);
8f359d7b 38 //
39 void Reset();
40 void BookNTracks(Int_t n);
41 void SetCrvTPC(Int_t i, Double_t v) {fCrvVars[i*kNVarPerTrack+kCrvTPC] = v;}
42 void SetCrvTPCErr(Int_t i, Double_t v) {fCrvVars[i*kNVarPerTrack+kCrvTPCErr] = v;}
43 void SetCrvGlo(Int_t i, Double_t v) {fCrvVars[i*kNVarPerTrack+kCrvGlo] = v;}
44 void SetCrvGloErr(Int_t i, Double_t v) {fCrvVars[i*kNVarPerTrack+kCrvGloErr] = v;}
45 void AddTrack(AliTrackPointArray* trc) {fTracks.AddLast((TObject*)trc);}
46 void SetVertex(const AliESDVertex* vtx) {fVertex = *vtx;}
47 //
48 protected:
49 //
50 TObjArray fTracks; // TrackPoints
51 AliESDVertex fVertex; // ESD Vertex
52 Int_t fNVars; // Ntracks*kNVarPerTrack
53 Double32_t* fCrvVars; //[fNVars];
54
55 ClassDef(AliITSSumTP,1)
56};
57
a4b1ccc5 58
59//---------------------------------------------------------------
60inline void AliITSSumTP::GetTPCInnerXYZ(int i, double* xyz) const
61{
62 // get tpc inner coordinates
63 xyz[0] = fCrvVars[i*kNVarPerTrack+kTPCInX];
64 xyz[1] = fCrvVars[i*kNVarPerTrack+kTPCInY];
65 xyz[2] = fCrvVars[i*kNVarPerTrack+kTPCInZ];
66}
67
68//---------------------------------------------------------------
69inline void AliITSSumTP::SetTPCInnerXYZ(int i, const double* xyz)
70{
71 // Set tpc inner coordinates
72 fCrvVars[i*kNVarPerTrack+kTPCInX] = xyz[0];
73 fCrvVars[i*kNVarPerTrack+kTPCInY] = xyz[1];
74 fCrvVars[i*kNVarPerTrack+kTPCInZ] = xyz[2];
75}
76
77
8f359d7b 78#endif
79