Import Geant4 8.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:36:02 +02:00
parent d93e1e39a9
commit 8a51e0bc40
5471 changed files with 99628 additions and 55248 deletions
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02ChamberParameterisation.hh,v 1.3 2003/12/03 14:15:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//
// A parameterisation that describes a series of boxes along Z
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02DetectorConstruction.hh,v 1.1 2002/03/05 15:21:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02DetectorMessenger.hh,v 1.2 2003/12/03 14:15:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02EventAction.hh,v 1.1 2002/03/05 15:21:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02MagneticField.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//
// A class for control of the Magnetic Field of the detector.
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02PhysicsList.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02PrimaryGeneratorAction.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02RunAction.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02SteppingAction.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02SteppingVerbose.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -21,31 +21,43 @@
// ********************************************************************
//
//
// $Id: ExN02TrackerHit.hh,v 1.3 2003/12/03 14:15:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// --------------------------------------------------------------
// GEANT 4 - Underground Dark Matter Detector Advanced Example
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
// For information related to this code contact: Alex Howard
// e-mail: a.s.howard@ic.ac.uk
// --------------------------------------------------------------
// Comments
//
//
// TrackerHit header
// --------------------------------------------------------------
#ifndef ExN02TrackerHit_h
#define ExN02TrackerHit_h 1
//MSH_include_begin
#include "MarshaledG4String.h"
//MSH_include_end
#include "G4VHit.hh"
#include "G4THitsCollection.hh"
#include "G4Allocator.hh"
#include "G4ThreeVector.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class ExN02TrackerHit : public G4VHit
//MSH_BEGIN
class ExN02TrackerHit : public G4VHit
{
public:
ExN02TrackerHit();
~ExN02TrackerHit();
ExN02TrackerHit(const ExN02TrackerHit&);
const ExN02TrackerHit& operator=(const ExN02TrackerHit&);
G4int operator==(const ExN02TrackerHit&) const;
int operator==(const ExN02TrackerHit&) const;
inline void* operator new(size_t);
inline void operator delete(void*);
@@ -53,48 +65,61 @@ class ExN02TrackerHit : public G4VHit
void Draw();
void Print();
public:
void SetTrackID (G4int track) { trackID = track; };
void SetChamberNb(G4int chamb) { chamberNb = chamb; };
void SetEdep (G4double de) { edep = de; };
void SetPos (G4ThreeVector xyz){ pos = xyz; };
G4int GetTrackID() { return trackID; };
G4int GetChamberNb() { return chamberNb; };
G4double GetEdep() { return edep; };
G4ThreeVector GetPos(){ return pos; };
private:
G4int trackID;
G4int chamberNb;
G4double edep;
G4ThreeVector pos;
G4ThreeVector pos; /*MSH: primitive
[elementGet: { $ELEMENT = $THIS->GetPos(); }]
[elementSet: { $THIS->SetPos($ELEMENT); }] */
G4double edep; /*MSH: primitive
[elementGet: { $ELEMENT = $THIS->GetEdep(); }]
[elementSet: { $THIS->SetEdep($ELEMENT); }] */
G4int trackID; /*MSH: primitive
[elementGet: { $ELEMENT = $THIS->GetTrackID(); }]
[elementSet: { $THIS->SetTrackID($ELEMENT); }] */
G4int chamberNb; /*MSH: primitive
[elementGet: { $ELEMENT = $THIS->GetChamberNb(); }]
[elementSet: { $THIS->SetChamberNb($ELEMENT); }] */
public:
inline void SetTrackID (G4int track) {trackID = track; };
inline void SetChamberNb(G4int chamb) {chamberNb = chamb; };
inline void SetEdep(G4double de) {edep=de;};
inline void SetPos(G4ThreeVector xyz) {pos=xyz;};
inline G4int GetTrackID() const {return trackID; };
inline G4int GetChamberNb() const {return chamberNb; };
inline G4double GetEdep() const {return edep;};
inline G4ThreeVector GetPos() const {return pos;};
};
//MSH_END
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
// vector collection of one type of hits
typedef G4THitsCollection<ExN02TrackerHit> ExN02TrackerHitsCollection;
extern G4Allocator<ExN02TrackerHit> ExN02TrackerHitAllocator;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline void* ExN02TrackerHit::operator new(size_t)
{
void *aHit;
aHit = (void *) ExN02TrackerHitAllocator.MallocSingle();
inline void* ExN02TrackerHit::operator new(size_t) {
void* aHit;
aHit = (void*) ExN02TrackerHitAllocator.MallocSingle();
return aHit;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline void ExN02TrackerHit::operator delete(void *aHit)
{
inline void ExN02TrackerHit::operator delete(void* aHit) {
ExN02TrackerHitAllocator.FreeSingle((ExN02TrackerHit*) aHit);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02TrackerSD.hh,v 1.1 2002/03/05 15:21:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -222,8 +222,8 @@ void marshal3() {
//Now just copy "get" functions here
{
G4THitsCollection<ExN02TrackerHit> *aObj100 = (G4THitsCollection<ExN02TrackerHit>*)param;
MarshaledG4THitsCollection<ExN02TrackerHit> marChild(aObj100);
G4THitsCollection<ExN02TrackerHit> *aObj293 = (G4THitsCollection<ExN02TrackerHit>*)param;
MarshaledG4THitsCollection<ExN02TrackerHit> marChild(aObj293);
EXTEND_BUFFER(marChild.getBufferSize());
memcpy(msh_cursor,marChild.getBuffer(), marChild.getBufferSize());
msh_currentSize = marChild.getBufferSize();
@@ -1,13 +1,26 @@
/**********************************************************************
* Parallel Library for Geant4 *
* Include file with Base Class of Marshalgen *
* Copyright (c) 2001 Gene Cooperman <gene@ccs.neu.edu> *
* *
* This library is free software distributed under the GNU *
* Lesser General Public License. See the file COPYING for details. *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library (see file COPYING); if not, write *
* to the Free Software Foundation, Inc., 59 Temple Place, Suite *
* 330, Boston, MA 02111-1307 USA, or contact Gene Cooperman *
* <gene@ccs.neu.edu>. *
**********************************************************************/
#ifndef PARMARSHALEDOBJ_H
#define PARMARSHALEDOBJ_H
#ifndef MARSHALEDOBJ_H
#define MARSHALEDOBJ_H
#include <stdio.h>
#include <stdlib.h>
@@ -111,14 +124,14 @@ class MarshaledObj {
char* msh_field_begin;
// msh_size contains the total size of msh_buffer. i.e.,
int msh_size;
size_t msh_size;
// msh_cursor points to the next field to be marshaled.
char *msh_cursor;
// msh_extent is the total allocated space for msh_buffer.
// msh_extent is always >= msh_size
int msh_extent;
size_t msh_extent;
bool msh_isUnmarshalDone; //Is unmarshaling done yet?
@@ -130,7 +143,7 @@ class MarshaledObj {
}
}
void resizeBuffer(int new_size ) {
void resizeBuffer(size_t new_size ) {
int msh_displacement = msh_cursor - msh_buffer;
int field_displacement = msh_field_begin - msh_buffer;
@@ -21,7 +21,7 @@
// ********************************************************************
//
// $Id: ParRunManager.hh,v 1.2 2002/06/06 17:05:02 cooperma Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
// --------------------------------------------------------------------
// Parallel Library for Geant4