Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-27 07:03:37

0001 ///////////////////////////////////////////////////////////////////////////
0002 //
0003 //    Copyright 2010
0004 //
0005 //    This file is part of starlight.
0006 //
0007 //    starlight is free software: you can redistribute it and/or modify
0008 //    it under the terms of the GNU General Public License as published by
0009 //    the Free Software Foundation, either version 3 of the License, or
0010 //    (at your option) any later version.
0011 //
0012 //    starlight is distributed in the hope that it will be useful,
0013 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
0014 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0015 //    GNU General Public License for more details.
0016 //
0017 //    You should have received a copy of the GNU General Public License
0018 //    along with starlight. If not, see <http://www.gnu.org/licenses/>.
0019 //
0020 ///////////////////////////////////////////////////////////////////////////
0021 //
0022 // File and Version Information:
0023 // $Rev:: 97                          $: revision of last commit
0024 // $Author:: odjuvsla                 $: author of last commit
0025 // $Date:: 2012-10-22 22:25:35 +0100 #$: date of last commit
0026 //
0027 // Description:
0028 //
0029 //
0030 //
0031 ///////////////////////////////////////////////////////////////////////////
0032 
0033 
0034 #ifndef EVENTFILEWRITER_H
0035 #define EVENTFILEWRITER_H
0036 
0037 #ifdef HEPMC3_ON
0038 class hepMC3Writer;
0039 #endif
0040 
0041 #include <string>
0042 
0043 #include "filewriter.h"
0044 #include "inputParameters.h"
0045 
0046 class eventFileWriter : public fileWriter
0047 {
0048    public:
0049       
0050       /** Default constructor */
0051       eventFileWriter();
0052       
0053       /** Constructor with name */
0054       eventFileWriter(std::string filename);
0055 
0056       /** Write out simulation set up */
0057       int writeInit(inputParameters &param );
0058 
0059       /** Write out LUND simulation set up */
0060       int writeInitLUND(inputParameters &param );
0061       
0062       /** Write an eX event to file */
0063       int writeEvent(eXEvent &event, int eventnumber);
0064 
0065       /** Write an eX event to file in LUND format */
0066       int writeEventLUND(eXEvent &event, int eventnumber);
0067 
0068       /** Set if we want to write full pythia information */
0069       void writeFullPythiaInfo(bool v) { _writeFullPythia = v; }
0070 
0071       /** Set if we want to write full pythia information */
0072       void writeFullHepMC3Info(bool v) { _writeFullHepMC3 = v; }
0073 
0074       /** Set if we want to write full lund information */
0075       //void writeFullLUNDInfo(bool v) { _writeFullLUND = v; }
0076 
0077       /** close the file */
0078       int close();
0079       
0080 private:
0081   
0082   bool _writeFullPythia;
0083   bool _writeFullHepMC3;
0084 
0085   //Define Four Vectors
0086   std::vector<double> _electronBeam_four_vector_;
0087   std::vector<double> _targetBeam_four_vector_;
0088   int _electronBeam_pdg_id_;
0089   int _targetBeam_pdg_id_;
0090 
0091 #ifdef HEPMC3_ON
0092   hepMC3Writer * _hepmc3writer;
0093 #endif
0094   
0095 };
0096 
0097 
0098 #endif  // EVENTFILEWRITER_H