ROOT logo
#ifndef ALIDIELECTRONEVENT_H
#define ALIDIELECTRONEVENT_H

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

//#############################################################
//#                                                           # 
//#         Class AliDielectronEvent                     #
//#                                                           #
//#  Authors:                                                 #
//#   Jens      Wiechula, Uni Tübingen / Jens.Wiechula@cern.ch      #
//#                                                           #
//#############################################################

#include <TNamed.h>
#include <TClonesArray.h>

#include "AliDielectronVarManager.h"


class TObjArray;
class TProcessID;

class AliDielectronEvent : public TNamed {
public:
  AliDielectronEvent();
  AliDielectronEvent(const char*name, const char* title);

  virtual ~AliDielectronEvent();

  void SetESD();
  void SetAOD(Int_t size=1000);
  Bool_t IsAOD() const { return fIsAOD; }

  void SetTracks(const TObjArray &arrP, const TObjArray &arrN, const TObjArray &arrPairs);
  void SetEventData(const Double_t data[AliDielectronVarManager::kNMaxValues]);
  const Double_t* GetEventData() const {return fEventData;}
  
  const TClonesArray* GetTrackArrayP() const { return &fArrTrackP; }
  const TClonesArray* GetTrackArrayN() const { return &fArrTrackN; }
  const TClonesArray* GetVertexArray() const { return &fArrVertex; }

  Int_t GetNTracksP() const { return fNTracksP; }
  Int_t GetNTracksN() const { return fNTracksN; }

  void SetProcessID(TProcessID *pid) { fPID=pid;    }
  const TProcessID* GetProcessID()   { return fPID; }
  
virtual void Clear(Option_t *opt="C");


private:
  TClonesArray fArrTrackP;      //positive tracks
  TClonesArray fArrTrackN;      //negative tracks
  TClonesArray fArrVertex;      //track vertices

  TClonesArray fArrPairs;       //Pair array

  Int_t fNTracksP;              //number of positive tracks
  Int_t fNTracksN;              //number of negative tracks

  Bool_t fIsAOD;                // if we deal with AODs

  Double_t fEventData[AliDielectronVarManager::kNMaxValues]; // event informaion from the var manager

  TProcessID *fPID;             //! internal PID for references to buffered objects
  UInt_t      fPIDIndex;        //! index of PID

  AliDielectronEvent(const AliDielectronEvent &c);
  AliDielectronEvent &operator=(const AliDielectronEvent &c);

  void AssignID(TObject *obj);
  
  ClassDef(AliDielectronEvent,1)         // Dielectron Event
};



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