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

00001 #ifndef BDSOutputVector_h
00002 #define BDSOutputVector_h 
00003 
00004 #include "BDSOutputBase.hh"
00005 
00006 #include <vector>
00007 
00008 // class that holds multiple outputs
00009 
00010 class BDSOutputVector: public BDSOutputBase {
00011 
00012 public: 
00013 
00014   BDSOutputVector();
00015   ~BDSOutputVector();
00016 
00018   void Add(BDSOutputBase*);
00019 
00021   virtual void WriteHits(BDSSamplerHitsCollection*);
00023   virtual void WriteEnergyLoss(BDSEnergyCounterHitsCollection*);
00025   virtual void WritePrimaryLoss(BDSEnergyCounterHit*);
00027   virtual void WritePrimaryHit(BDSEnergyCounterHit*);
00029   virtual void WriteTrajectory(std::vector<BDSTrajectory*> &TrajVec);
00031   virtual void WritePrimary(G4String samplerName, 
00032                             G4double E,
00033                             G4double x0,
00034                             G4double y0,
00035                             G4double z0,
00036                             G4double xp,
00037                             G4double yp,
00038                             G4double zp,
00039                             G4double t,
00040                             G4double weight,
00041                             G4int    PDGType, 
00042                             G4int    nEvent, 
00043                             G4int    TurnsTaken);
00044 
00046   virtual void WriteHistogram(BDSHistogram1D* histogramIn);
00048   virtual void Commit();
00050   virtual void Write();
00051 
00052 private:
00054   std::vector<BDSOutputBase*> output;
00055 };
00056 
00057 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7