forked from aiola/alice-fast-simulation
-
Notifications
You must be signed in to change notification settings - Fork 2
/
AliGenReaderHepMC_dev.h
51 lines (42 loc) · 1.63 KB
/
AliGenReaderHepMC_dev.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef ALIGENREADERHEPMC_DEV_H
#define ALIGENREADERHEPMC_DEV_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: [email protected], [email protected]
// Based on AliGenReaderSL by [email protected]
#include <TClonesArray.h>
#include <AliGenEventHeader.h>
#include <AliGenReader.h>
#if !(defined(__CINT__) || defined(__MAKECINT__) || defined(__CLING__))
namespace HepMC {
class IO_BaseClass;
class GenEvent;
}
#endif
class TParticle;
class AliGenReaderHepMC_dev : public AliGenReader {
public:
AliGenReaderHepMC_dev();
AliGenReaderHepMC_dev(const AliGenReaderHepMC_dev& reader);
virtual ~AliGenReaderHepMC_dev();
AliGenEventHeader* GetGenEventHeader() const { return fGenEventHeader; };
virtual void Init();
virtual Int_t NextEvent();
virtual TParticle* NextParticle();
virtual void RewindEvent();
AliGenReaderHepMC_dev& operator=(const AliGenReaderHepMC_dev& rhs);
protected:
#if !(defined(__CINT__) || defined(__MAKECINT__) || defined(__CLING__))
HepMC::IO_BaseClass* fEventsHandle; //! pointer to the HepMC file handler
HepMC::GenEvent* fGenEvent; //! pointer to a generated event
#endif
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_dev, 1) //Generate particles from external file
};
#endif