// ESAF : Euso Simulation and Analysis Framework
// $Id: OAPxBunch.cc,v 1.5 2005/05/03 21:05:02 thea Exp $
// A.Thea created Apr, 18 2004
#include "OAPxBunch.hh"
#include "TClonesArray.h"
#include "Riostream.h"
ClassImp(OAPxBunch);
TClonesArray *OAPxBunch::fgHits = 0;
// ctor
OAPxBunch::OAPxBunch() : fNumHits(0), fNumChannels(0) {
if (!fgHits ) fgHits = new TClonesArray("OAPxHit",1000);
fHits = fgHits;
}
OAPxBunch::OAPxBunch(Int_t n) : fNumHits(0), fNumChannels(n) {
if (!fgHits ) fgHits = new TClonesArray("OAPxHit",1000);
fHits = fgHits;
}
// dtor
OAPxBunch::~OAPxBunch() {
Clear();
fHits->Delete();
}
// clean the tclonesarrays
void OAPxBunch::Clear( Option_t* ) {
fHits->Clear();
fNumHits = 0;
}
// add a direction to pixel uid
void OAPxBunch::AddHit(Float_t th, Float_t phi, Float_t wl, Int_t uid) {
AddHit(OAPxHit(th, phi, wl, uid));
}
// add a direction to pixel uid
void OAPxBunch::AddHit(const TVector3& dir, Float_t wl, Int_t uid) {
AddHit(OAPxHit(dir, wl, uid));
}
// add a photon to pixel uid
void OAPxBunch::AddHit(const OAPxHit& p) {
new ((*fHits)[fNumHits++]) OAPxHit(p);
}