// ------------------------------------------------------------------------- // ----- CbmShieldGenerator header file ----- // ----- Created 15/09/06 by V. Friese ----- // ------------------------------------------------------------------------- /** CbmShieldGenerator *@author V.Friese *@since 15.09.06 *@version 1.0 * ** The CbmShieldGenerator is similar to the CbmAsciiGenerator. It uses the ** ASCII output of the SHIELD code as input for simulation. ** The format of the event header is: ** event nr.; number of particles; beam momentum; impact parameter ** followed by a line for each particle of the format ** PID; A; Z; px; py; pz ** The PID must be given as for GEANT3. For ions, it is 1000. The total ** momentum is required, not momentum per nucleon. **/ #ifndef PNDHYPBUPGENERATOR_H #define PNDHYPBUPGENERATOR_H 1 #include "../hyp/THParticle.h" #include "CbmGenerator.h" class TClonesArray; class TFile; class TTree; class TVirtualMCStack; class PndPrimaryGenerator; //class CbmParticle; class PndHypBupGenerator : public CbmGenerator { public: /** Default constructor without arguments should not be used. **/ PndHypBupGenerator(); /** Standard constructor. ** @param fileName The input file name **/ PndHypBupGenerator(const char* fileName); /** Destructor. **/ virtual ~PndHypBupGenerator(); /** Reads on event from the input file and pushes the tracks onto ** the stack. Abstract method in base class. ** @param primGen pointer to the CbmPrimaryGenerator **/ virtual Bool_t ReadEvent(CbmPrimaryGenerator* primGen); private: //! PDG database Int_t iEvent; //! Event number const Char_t* fFileName; //! Input file name TFile* fInputFile; //! Pointer to input file TTree* fInputTree; //! Pointer to input tree TClonesArray* fParticles; //! Particle array from PLUTO /** Private method CloseInput. Just for convenience. Closes the ** input file properly. Called from destructor and from ReadEvent. **/ void CloseInput(); /** Private method RegisterIons. Goes through the input file and registers ** any ion needed. **/ //Int_t RegisterIons(); /** STL map from ion name to CbmIon **/ //std::map fIonMap; //! ClassDef(PndHypBupGenerator,1); }; #endif