/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSOutputBase.hh

00001 #ifndef BDSOutputBase_h
00002 #define BDSOutputBase_h 
00003 
00004 #include "BDSSamplerHit.hh"
00005 #include "BDSEnergyCounterHit.hh"
00006 #include "BDSTrajectory.hh"
00007 #include "BDSHistogram.hh"
00008 
00009 #include "G4Trajectory.hh"
00010 #include <vector>
00011 
00012 // virtual base class
00013 
00014 class BDSOutputBase {
00015 
00016 public: 
00017 
00018   BDSOutputBase(); // default constructor
00019   //  BDSOutput(BDSOutputFormat format);
00020   virtual ~BDSOutputBase(){};
00021 
00023   virtual void WriteHits(BDSSamplerHitsCollection*) = 0;
00025   virtual void WriteEnergyLoss(BDSEnergyCounterHitsCollection*) = 0;
00027   virtual void WritePrimaryLoss(BDSEnergyCounterHit*) = 0;
00029   virtual void WritePrimaryHit(BDSEnergyCounterHit*) = 0;
00031   virtual void WriteTrajectory(std::vector<BDSTrajectory*> &TrajVec) = 0;
00033   virtual void WritePrimary(G4String samplerName, 
00034                             G4double E,
00035                             G4double x0,
00036                             G4double y0,
00037                             G4double z0,
00038                             G4double xp,
00039                             G4double yp,
00040                             G4double zp,
00041                             G4double t,
00042                             G4double weight,
00043                             G4int    PDGType, 
00044                             G4int    nEvent, 
00045                             G4int    TurnsTaken) = 0;
00046 
00048   virtual void WriteHistogram(BDSHistogram1D* histogramIn) = 0;
00050   virtual void Commit()=0;
00052   virtual void Write()=0;
00053 
00054 protected:
00056   int eventNumber;
00058   int numberEventPerFile;
00060   int outputFileNumber;
00062   G4String filename;
00063 };
00064 
00065 extern BDSOutputBase* bdsOutput;
00066 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7