// Event.h
// Sept 10,1998 Rob Shanks, Creation of Event class
// Feb 5,1999 Rob Shanks, Removed TMaps from Event class
// 

#ifndef EVENT
#define EVENT

#include "TMath.h"
#include "TObject.h"
#include "TObjArray.h"
#include "TMap.h"

class Event: public TObject {
 private:
  Int_t m_run;             // Run number
  Int_t m_event;           // Event number
  TObjArray* MUSTRIP_Hits; // List of StripHit 
  TObjArray* MUCAL_Digi;   // List of CalHit for muon calorimeter
  TObjArray* LUMCAL_Digi;  // List of CalHit for luminosity monitor
  TObjArray* HADCAL_Digi;  // List of CalHit for Had calorimeter
  TObjArray* EMCAL_Digi;   // List of CalHit for EM calorimeter
  TObjArray* Tracks_List;  // List of reconstructed track objects
  TObjArray* MCParticles;  // List of McPart objects
  TObjArray* VXD_Hit_List;  // List of VXD_Hit objects
  TObjArray* Tracker_Hit_List; // List of track hit objects
  TObjArray* Cluster_List;  // List of calorimeter cluster objects
  TObjArray* LUMCluster_List; // List of luminosity monitor cluster objects

public:
  Event();
  ~Event();
  void Clean();
  void Create();
  void setevent(Int_t event){m_event = event;};
  void setrun(Int_t run){m_run = run;};
  Int_t getevent(){ return m_event;};
  Int_t getrun(){ return m_run;};
  TObjArray* MUSTRIP();
  TObjArray* MUCAL();
  TObjArray* LUMCAL();
  TObjArray* HADCAL();
  TObjArray* EMCAL();
  TObjArray* Tracks();
  TObjArray* MCparticles();
  TObjArray* VXD();
  TObjArray* Tracker();
  TObjArray* ClusterLst();
  TObjArray* LUMClusterLst();

ClassDef(Event,1)// Physics event container
}; 

#endif





