Import Geant4 3.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:55:53 +02:00
parent e7d7193284
commit cfcb558cfe
3050 changed files with 91703 additions and 48310 deletions
@@ -0,0 +1,42 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4JasSystem.hh,v 1.8 2000/11/16 13:44:43 barrand Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// Guy Barrand 14 September 2000
#ifndef G4JASSYSTEM_H
#define G4JASSYSTEM_H
#if defined(G4ANALYSIS_BUILD_JAS) || defined(G4ANALYSIS_USE_JAS)
#include "G4VAnalysisSystem.hh"
class IHistogramManager;
class JasHistogramFactory;
class G4JasSystem : public G4VAnalysisSystem {
public: // I methods :
virtual const G4String& GetName() const;
virtual IHistogramFactory* GetHistogramFactory();
//
virtual void Store(IHistogram* = 0,const G4String& = "");
virtual void Plot(IHistogram*);
public:
G4JasSystem(const G4String& name = "jas");
virtual ~G4JasSystem();
private:
G4String fName;
JasHistogramFactory* fHistogramFactory;
};
#endif
#endif
+24
View File
@@ -0,0 +1,24 @@
#ifndef JASAXIS_H
#define JASAXIS_H
#if defined(G4ANALYSIS_BUILD_JAS)
#include <IAxis.h>
class JasAxis : public IAxis {
public:
virtual ~JasAxis() {}
public:
virtual double lowerEdge() const;
virtual double upperEdge() const;
virtual int bins() const;
virtual double binLowerEdge(int) const;
virtual double binUpperEdge(int) const;
virtual double binWidth(int) const;
virtual double binCentre(int) const;
virtual int coordToIndex(double) const;
};
#endif
#endif
@@ -0,0 +1,59 @@
#ifndef JASHISTOGRAM1D_H
#define JASHISTOGRAM1D_H
#if defined(G4ANALYSIS_BUILD_JAS)
#include <IHistogram1D.h>
#include "JasAxis.h"
class JasHistogramFactory;
class JasHistogram1D : public IHistogram1D {
public: // IHistogram IMethods :
virtual std_string title() const;
virtual int dimensions() const;
virtual int entries() const;
virtual int allEntries() const;
virtual int extraEntries() const;
virtual double equivalentBinEntries() const;
virtual double sumBinHeights() const;
virtual double sumAllBinHeights() const;
virtual double sumExtraBinHeights() const;
virtual double minBinHeight() const;
virtual double maxBinHeight() const;
virtual void reset();
virtual IAnnotation* annotation();
public: // IHistogram1D IMethods :
// The fill :
virtual void fill(double,double = 1.0);
// Partition :
virtual int minBin() const;
virtual int maxBin() const;
virtual int coordToIndex(double) const;
virtual double mean() const;
virtual double rms() const;
// Bins :
virtual int binEntries(int) const;
virtual double binHeight(int) const;
virtual double binError(int) const;
// Axis :
virtual const IAxis& xAxis() const;
public:
JasHistogram1D(JasHistogramFactory *factory, const char *title);
virtual ~JasHistogram1D();
private:
jmethodID fillMethod;
jobject fJasHist;
JNIEnv* fEnv;
JasAxis fAxis;
std_string fTitle;
};
#endif
#endif
@@ -0,0 +1,67 @@
#ifndef JASHISTOGRAM2D_H
#define JASHISTOGRAM2D_H
#if defined(G4ANALYSIS_BUILD_JAS)
#include <IHistogram2D.h>
#include "JasAxis.h"
class JasHistogramFactory;
class JasHistogram2D : public IHistogram2D {
public: // IHistogram IMethods :
virtual std_string title() const;
virtual int dimensions() const;
virtual int entries() const;
virtual int allEntries() const;
virtual int extraEntries() const;
virtual double equivalentBinEntries() const;
virtual double sumBinHeights() const;
virtual double sumAllBinHeights() const;
virtual double sumExtraBinHeights() const;
virtual double minBinHeight() const;
virtual double maxBinHeight() const;
virtual void reset();
virtual IAnnotation* annotation();
public: // IHistogram2D IMethods :
virtual void fill( double x, double y, double weight = 1 );
virtual int binEntries( int indexX, int indexY ) const;
virtual int binEntriesX( int indexX ) const;
virtual int binEntriesY( int indexY ) const;
virtual double binHeight( int indexX, int indexY ) const;
virtual double binHeightX( int indexX ) const;
virtual double binHeightY( int indexY ) const;
virtual double binError( int indexX, int indexY ) const;
virtual double meanX() const;
virtual double meanY() const;
virtual double rmsX() const;
virtual double rmsY() const;
virtual int minBinX() const;
virtual int minBinY() const;
virtual int maxBinX() const;
virtual int maxBinY() const;
virtual const IAxis& xAxis() const;
virtual const IAxis& yAxis() const;
virtual int coordToIndexX( double coordX ) const;
virtual int coordToIndexY( double coordY ) const;
virtual IHistogram1D* projectionX() const;
virtual IHistogram1D* projectionY() const;
virtual IHistogram1D* sliceX( int indexY ) const;
virtual IHistogram1D* sliceY( int indexX ) const;
virtual IHistogram1D* sliceX( int indexY1, int indexY2 ) const;
virtual IHistogram1D* sliceY( int indexX1, int indexX2 ) const;
public:
JasHistogram2D(JasHistogramFactory *factory, const char *title);
virtual ~JasHistogram2D();
private:
jmethodID fillMethod;
jobject fJasHist;
JNIEnv* fEnv;
JasAxis fAxis;
std_string fTitle;
};
#endif
#endif
@@ -0,0 +1,37 @@
// JHistogramFactory.h: interface for the JHistogramFactory class.
//////////////////////////////////////////////////////////////////////
#ifndef JASHISTOGRAMFACTORY
#define JASHISTOGRAMFACTORY
#if defined(G4ANALYSIS_BUILD_JAS)
#include <jni.h>
#include <IHistogramFactory.h>
class JasHistogramFactory
: public IHistogramFactory
{
public: // IMethods :
virtual IHistogram1D* create1D(const std_string&,
int=0,double=0,double=0,
int=0);
virtual IHistogram2D* create2D(const std_string&,
int=0,double=0,double=0,
int=0,double=0,double=0,
int=0);
virtual void destroy(IHistogram*);
public:
JasHistogramFactory();
virtual ~JasHistogramFactory();
JNIEnv* getEnv();
void error(const char* message);
private:
jobject fJob;
void createJVM();
void destroyJVM();
};
#endif
#endif