ROOT logo
/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//-------------------------------------------------------------------------
//     AOD class to store tracklets
//     Author: Jan Fiete Grosse-Oetringhaus, CERN
//     Class created from AliMultiplicity
//-------------------------------------------------------------------------

#ifndef ALIAODTRACKLETS_H
#define ALIAODTRACKLETS_H

#include "AliVMultiplicity.h"

class AliAODTracklets : public AliVMultiplicity
{
 public:
  AliAODTracklets();
  AliAODTracklets(const char* name, const char* title);
  AliAODTracklets(const AliAODTracklets& evt); 
  AliAODTracklets& operator=(const AliAODTracklets& evt);

  virtual ~AliAODTracklets();

  void CreateContainer(Int_t nTracks);
  void DeleteContainer();
  virtual void Clear(Option_t* )         {AliVMultiplicity::Clear(); DeleteContainer();}

  Bool_t SetTracklet(Int_t pos, Double32_t theta, Double32_t phi, Double32_t deltaPhi, Int_t labelL1, Int_t labelL2);


  virtual Int_t    GetNumberOfTracklets() const { return fNTracks; }
  virtual Double_t GetTheta(Int_t i)      const;
  virtual Double_t GetPhi(Int_t i)        const;
  virtual Double_t GetDeltaPhi(Int_t i)   const;
  virtual Int_t    GetLabel(Int_t i, Int_t layer) const;
  virtual void     SetLabel(Int_t i, Int_t layer,Int_t label);
  //
  virtual Double_t* GetTheta()       const {return (Double_t*)fTheta;}
  virtual Double_t* GetPhi()         const {return (Double_t*)fPhi;}
  virtual Double_t* GetDeltPhi()     const {return (Double_t*)fDeltaPhi;}
  virtual Int_t*    GetLabels()      const {return (Int_t*)fLabels;}  
  virtual Int_t*    GetLabels2()     const {return (Int_t*)fLabelsL2;}
  virtual void Print(Option_t *opt="") const;

 protected:
  Int_t      fNTracks;       // Number of tracklets
  Double32_t *fTheta;        //[fNTracks] array with theta values
  Double32_t *fPhi;          //[fNTracks] array with phi values
  Double32_t *fDeltaPhi;     //[fNTracks] array with delta phi values
  Int_t      *fLabels;       //[fNTracks] array with labels of cluster in L1 used for the tracklet
  Int_t      *fLabelsL2;     //[fNTracks] array with labels of cluster in L2 used for the tracklet


  ClassDef(AliAODTracklets, 4);
};


#endif
 AliAODTracklets.h:1
 AliAODTracklets.h:2
 AliAODTracklets.h:3
 AliAODTracklets.h:4
 AliAODTracklets.h:5
 AliAODTracklets.h:6
 AliAODTracklets.h:7
 AliAODTracklets.h:8
 AliAODTracklets.h:9
 AliAODTracklets.h:10
 AliAODTracklets.h:11
 AliAODTracklets.h:12
 AliAODTracklets.h:13
 AliAODTracklets.h:14
 AliAODTracklets.h:15
 AliAODTracklets.h:16
 AliAODTracklets.h:17
 AliAODTracklets.h:18
 AliAODTracklets.h:19
 AliAODTracklets.h:20
 AliAODTracklets.h:21
 AliAODTracklets.h:22
 AliAODTracklets.h:23
 AliAODTracklets.h:24
 AliAODTracklets.h:25
 AliAODTracklets.h:26
 AliAODTracklets.h:27
 AliAODTracklets.h:28
 AliAODTracklets.h:29
 AliAODTracklets.h:30
 AliAODTracklets.h:31
 AliAODTracklets.h:32
 AliAODTracklets.h:33
 AliAODTracklets.h:34
 AliAODTracklets.h:35
 AliAODTracklets.h:36
 AliAODTracklets.h:37
 AliAODTracklets.h:38
 AliAODTracklets.h:39
 AliAODTracklets.h:40
 AliAODTracklets.h:41
 AliAODTracklets.h:42
 AliAODTracklets.h:43
 AliAODTracklets.h:44
 AliAODTracklets.h:45
 AliAODTracklets.h:46
 AliAODTracklets.h:47
 AliAODTracklets.h:48
 AliAODTracklets.h:49
 AliAODTracklets.h:50
 AliAODTracklets.h:51
 AliAODTracklets.h:52
 AliAODTracklets.h:53
 AliAODTracklets.h:54
 AliAODTracklets.h:55
 AliAODTracklets.h:56
 AliAODTracklets.h:57
 AliAODTracklets.h:58
 AliAODTracklets.h:59
 AliAODTracklets.h:60
 AliAODTracklets.h:61