//*-- Author : Dan Magestro
//*-- Created: 01/09/01
//*-- Last modified: 07/11/01
#ifndef HPHYSICSEVENT_H
#define HPHYSICSEVENT_H
using namespace std;
#include "TObject.h"
#include <iostream> 
#include <iomanip>
#include "hlocation.h"
#include "hphysicsconstants.h"

class HIterator;
class HCategory;
class TObjArray;
class TClonesArray;
class TIterator;

class HPhysicsEvent : public TObject {

protected:
  HCategory* fPartCat;          //! Pointer to Particle data category
  TClonesArray* fPartArray;     //! Pointer to Particle data TClonesArray
  TIterator* iterPart;          //! Iterator over Particle category

  TObjArray *data[50];         //! Utility TObjArray array of pointers
  Int_t count;                 //! Counter for utility TObjArray's

public:
  HPhysicsEvent(void);
  HPhysicsEvent(HCategory *cat);
  HPhysicsEvent(TClonesArray *array);
  ~HPhysicsEvent(void) {;}

  Int_t  execute(void){return 0;}

  Float_t sumPt(TObjArray *data);
  Float_t sumPt(Int_t pid=-1) {return sumPt(getParticles(pid));};
  Float_t sumPt(const Char_t *pid)  {return sumPt(getParticles(pid));};

  Float_t sumEt(TObjArray *data);
  Float_t sumEt(Int_t pid=-1) {return sumEt(getParticles(pid));};
  Float_t sumEt(const Char_t *pid)  {return sumEt(getParticles(pid));};

  Float_t sumMt(TObjArray *data);
  Float_t sumMt(Int_t pid=-1) {return sumMt(getParticles(pid));};
  Float_t sumMt(const Char_t *pid)  {return sumMt(getParticles(pid));};

  Int_t   mult(TObjArray *data);
  Int_t   mult(Int_t pid=-1)  {return mult(getParticles(pid));};
  Int_t   mult(const Char_t *pid)   {return mult(getParticles(pid));};

  void printEvent();

  TObjArray *getParticles(Int_t pid=-1);
  TObjArray *getParticles(const Char_t *pid);

public:
  ClassDef(HPhysicsEvent,1) // Calculates event-wise variables or returns subsets of HParticles
};

#endif

Last change: Sat May 22 13:06:42 2010
Last generated: 2010-05-22 13:06

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.