ROOT logo
#ifndef ALIGENREADERHEPMC_H
#define ALIGENREADERHEPMC_H
// Realisations of the AliGenReader interface to be used with AliGenExFile.
// NextEvent() loops over events
// and NextParticle() loops over particles.
// This implementation reads HepMC output formats
// Author: brian.peter.thorsbro@cern.ch, brian@thorsbro.dk
// Based on AliGenReaderSL by andreas.morsch@cern.ch

#include <TClonesArray.h>

#include "AliGenReader.h"
#include "AliGenEventHeader.h"
#include "THepMCParser.h"

namespace HepMC {
  class IO_BaseClass;
  class GenEvent;
}

class TParticle;

class AliGenReaderHepMC : public AliGenReader
{
public:
  AliGenReaderHepMC();
  AliGenReaderHepMC(const AliGenReaderHepMC &reader);
  virtual ~AliGenReaderHepMC();
   AliGenEventHeader * GetGenEventHeader() const {return fGenEventHeader;};
   virtual void Init();
   virtual Int_t NextEvent();
   virtual TParticle* NextParticle();
   virtual void RewindEvent();
   AliGenReaderHepMC & operator=(const AliGenReaderHepMC & rhs);

protected:
   HepMC::IO_BaseClass * fEventsHandle;   // pointer to the HepMC file handler
   HepMC::GenEvent * fGenEvent;           // pointer to a generated event
   TClonesArray * fParticleArray;         // pointer to array containing particles of current event
   TIter * fParticleIterator;             // iterator coupled to the array
   AliGenEventHeader * fGenEventHeader;   // AliGenEventHeader

private:
   void Copy(TObject&) const;

   ClassDef(AliGenReaderHepMC, 1) //Generate particles from external file
};
#endif



 AliGenReaderHepMC.h:1
 AliGenReaderHepMC.h:2
 AliGenReaderHepMC.h:3
 AliGenReaderHepMC.h:4
 AliGenReaderHepMC.h:5
 AliGenReaderHepMC.h:6
 AliGenReaderHepMC.h:7
 AliGenReaderHepMC.h:8
 AliGenReaderHepMC.h:9
 AliGenReaderHepMC.h:10
 AliGenReaderHepMC.h:11
 AliGenReaderHepMC.h:12
 AliGenReaderHepMC.h:13
 AliGenReaderHepMC.h:14
 AliGenReaderHepMC.h:15
 AliGenReaderHepMC.h:16
 AliGenReaderHepMC.h:17
 AliGenReaderHepMC.h:18
 AliGenReaderHepMC.h:19
 AliGenReaderHepMC.h:20
 AliGenReaderHepMC.h:21
 AliGenReaderHepMC.h:22
 AliGenReaderHepMC.h:23
 AliGenReaderHepMC.h:24
 AliGenReaderHepMC.h:25
 AliGenReaderHepMC.h:26
 AliGenReaderHepMC.h:27
 AliGenReaderHepMC.h:28
 AliGenReaderHepMC.h:29
 AliGenReaderHepMC.h:30
 AliGenReaderHepMC.h:31
 AliGenReaderHepMC.h:32
 AliGenReaderHepMC.h:33
 AliGenReaderHepMC.h:34
 AliGenReaderHepMC.h:35
 AliGenReaderHepMC.h:36
 AliGenReaderHepMC.h:37
 AliGenReaderHepMC.h:38
 AliGenReaderHepMC.h:39
 AliGenReaderHepMC.h:40
 AliGenReaderHepMC.h:41
 AliGenReaderHepMC.h:42
 AliGenReaderHepMC.h:43
 AliGenReaderHepMC.h:44
 AliGenReaderHepMC.h:45
 AliGenReaderHepMC.h:46
 AliGenReaderHepMC.h:47
 AliGenReaderHepMC.h:48
 AliGenReaderHepMC.h:49
 AliGenReaderHepMC.h:50
 AliGenReaderHepMC.h:51