Import Geant4 10.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 11:51:14 +02:00
parent e2d2f9810a
commit 286caacf06
12421 changed files with 730077 additions and 502383 deletions
@@ -23,13 +23,13 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XAlminumElectrodeHit.hh
/// \brief Definition of the XAlminumElectrodeHit class
/// \file exoticphysics/phonon/include/XAluminumElectrodeHit.hh
/// \brief Definition of the XAluminumElectrodeHit class
//
// $Id$
// $Id: XAluminumElectrodeHit.hh 76246 2013-11-08 11:17:29Z gcosmo $
//
#ifndef XAlminumElectrodeHit_h
#define XAlminumElectrodeHit_h 1
#ifndef XAluminumElectrodeHit_h
#define XAluminumElectrodeHit_h 1
#include "G4VHit.hh"
#include "G4THitsCollection.hh"
@@ -39,15 +39,15 @@
class G4AttDef;
class G4AttValue;
class XAlminumElectrodeHit : public G4VHit
class XAluminumElectrodeHit : public G4VHit
{
public:
XAlminumElectrodeHit();
virtual ~XAlminumElectrodeHit();
XAlminumElectrodeHit(const XAlminumElectrodeHit &right);
const XAlminumElectrodeHit& operator=(const XAlminumElectrodeHit &right);
int operator==(const XAlminumElectrodeHit &right) const;
XAluminumElectrodeHit();
virtual ~XAluminumElectrodeHit();
XAluminumElectrodeHit(const XAluminumElectrodeHit &right);
const XAluminumElectrodeHit& operator=(const XAluminumElectrodeHit &right);
int operator==(const XAluminumElectrodeHit &right) const;
inline void *operator new(size_t);
inline void operator delete(void *aHit);
@@ -58,14 +58,14 @@ class XAlminumElectrodeHit : public G4VHit
virtual void Print();
private:
G4double time;
G4double fTime;
G4double fEdep;
G4ThreeVector fLocalPos;
G4ThreeVector fWorldPos;
public:
inline void SetTime(G4double t) { time = t; }
inline G4double GetTime() const { return time; }
inline void SetTime(G4double t) { fTime = t; }
inline G4double GetTime() const { return fTime; }
inline void SetEDep(G4double e) { fEdep = e; }
inline G4double GetEDep() const { return fEdep; }
inline void SetLocalPos(G4ThreeVector xyz) { fLocalPos = xyz; }
@@ -74,20 +74,20 @@ class XAlminumElectrodeHit : public G4VHit
inline G4ThreeVector GetWorldPos() const { return fWorldPos; }
};
typedef G4THitsCollection<XAlminumElectrodeHit> XAlminumElectrodeHitsCollection;
typedef G4THitsCollection<XAluminumElectrodeHit> XAluminumElectrodeHitsCollection;
extern G4Allocator<XAlminumElectrodeHit> XAlminumElectrodeHitAllocator;
extern G4Allocator<XAluminumElectrodeHit> XAluminumElectrodeHitAllocator;
inline void* XAlminumElectrodeHit::operator new(size_t)
inline void* XAluminumElectrodeHit::operator new(size_t)
{
void* aHit;
aHit = (void*)XAlminumElectrodeHitAllocator.MallocSingle();
aHit = (void*)XAluminumElectrodeHitAllocator.MallocSingle();
return aHit;
}
inline void XAlminumElectrodeHit::operator delete(void* aHit)
inline void XAluminumElectrodeHit::operator delete(void* aHit)
{
XAlminumElectrodeHitAllocator.FreeSingle((XAlminumElectrodeHit*) aHit);
XAluminumElectrodeHitAllocator.FreeSingle((XAluminumElectrodeHit*) aHit);
}
#endif
@@ -23,16 +23,16 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XAlminumElectrodeSensitivity.hh
/// \brief Definition of the XAlminumElectrodeSensitivity class
/// \file exoticphysics/phonon/include/XAluminumElectrodeSensitivity.hh
/// \brief Definition of the XAluminumElectrodeSensitivity class
//
// $Id$
// $Id: XAluminumElectrodeSensitivity.hh 76246 2013-11-08 11:17:29Z gcosmo $
//
#ifndef XAlminumElectrodeSensitivity_h
#define XAlminumElectrodeSensitivity_h 1
#ifndef XAluminumElectrodeSensitivity_h
#define XAluminumElectrodeSensitivity_h 1
#include "G4VSensitiveDetector.hh"
#include "XAlminumElectrodeHit.hh"
#include "XAluminumElectrodeHit.hh"
#include <iostream>
#include <fstream>
@@ -44,26 +44,26 @@ class G4TouchableHistory;
using namespace std;
class XAlminumElectrodeSensitivity : public G4VSensitiveDetector
class XAluminumElectrodeSensitivity : public G4VSensitiveDetector
{
public:
XAlminumElectrodeSensitivity(G4String);
virtual ~XAlminumElectrodeSensitivity();
XAluminumElectrodeSensitivity(G4String);
virtual ~XAluminumElectrodeSensitivity();
virtual void Initialize(G4HCofThisEvent*);
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
virtual void EndOfEvent(G4HCofThisEvent*);
XAlminumElectrodeHitsCollection* GetHitsCollection();
static XAlminumElectrodeHitsCollection* hitsCollection;
XAluminumElectrodeHitsCollection* GetHitsCollection();
static XAluminumElectrodeHitsCollection* fHitsCollection;
private:
//XAlminumElectrodeHitsCollection * hitsCollection;
//XAluminumElectrodeHitsCollection * hitsCollection;
ofstream fWriter; //writing hit posn to file. Temporary fix.
ofstream fWriter2; //writing timing information to file. Temporary fix.
G4int HCID;
G4int fHCID;
};
+20 -26
View File
@@ -26,7 +26,7 @@
/// \file exoticphysics/phonon/include/XDetectorConstruction.hh
/// \brief Definition of the XDetectorConstruction class
//
// $Id$
// $Id: XDetectorConstruction.hh 76246 2013-11-08 11:17:29Z gcosmo $
//
#ifndef XDetectorConstruction_h
@@ -34,39 +34,33 @@
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "XLatticeManager3.hh"
class G4Material;
class G4VPhysicalVolume;
class XDetectorConstruction : public G4VUserDetectorConstruction
{
public:
XDetectorConstruction();
virtual ~XDetectorConstruction();
class XDetectorConstruction : public G4VUserDetectorConstruction {
public:
virtual G4VPhysicalVolume* Construct();
XDetectorConstruction();
virtual ~XDetectorConstruction();
public:
virtual G4VPhysicalVolume* Construct();
private:
void DefineMaterials();
void SetupGeometry();
private:
static const G4String fsCrystalMapsDir;
G4Material* fLiquidHelium;
G4Material* fGermanium;
G4Material* fAlminum;
G4Material* fTungsten;
G4VPhysicalVolume* fWorldPhys;
G4bool fConstructed;
G4bool fIfField;
public:
inline void Field(G4bool bl) { fIfField = bl; }
private:
G4Material* fLiquidHelium;
G4Material* fGermanium;
G4Material* fAluminum;
G4Material* fTungsten;
G4VPhysicalVolume* fWorldPhys;
G4bool fConstructed;
G4bool fIfField;
public:
inline void Field(G4bool bl) { fIfField = bl; }
};
#endif
@@ -1,61 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XLPhonon.hh
/// \brief Definition of the XLPhonon class
//
// $Id$
//
#ifndef XLPhonon_h
#define XLPhonon_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
class XLPhonon : public G4ParticleDefinition
{
private:
static XLPhonon* theInstance;
private:
XLPhonon () {}
public:
/* static void SetXLatticeManager(XLatticeManager2*);
static XLatticeManager2* GetXLatticeManager();*/
~XLPhonon (){}
static XLPhonon* Definition();
static XLPhonon* PhononDefinition();
};
#endif
@@ -1,66 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XLatticeManager3.hh
/// \brief Definition of the XLatticeManager3 class
//
// $Id$
//
#ifndef XLatticeManager3_h
#define XLatticeManager3_h 1
#define MAXLAT 10 //maximum number of different crystal lattices supported
#include "G4ThreeVector.hh"
#include "XPhysicalLattice.hh"
class XLatticeManager3
{
private:
static XLatticeManager3* LM;
protected:
XLatticeManager3();
~XLatticeManager3();
XPhysicalLattice* fLatticeList[MAXLAT];
int fTotalLattices;
public:
static XLatticeManager3* GetXLatticeManager();
XPhysicalLattice* GetXPhysicalLattice(G4VPhysicalVolume*);
bool RegisterLattice(XPhysicalLattice*);
bool HasLattice(G4VPhysicalVolume*);
double MapKtoV(G4VPhysicalVolume*,int,const G4ThreeVector &);
G4ThreeVector MapKtoVDir(G4VPhysicalVolume*,int,const G4ThreeVector &);
};
#endif
@@ -1,99 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XLogicalLattice.hh
/// \brief Definition of the XLogicalLattice class
//
// $Id$
//
#ifndef XLogicalLattice_h
#define XLogicalLattice_h
#define MAXRES 322 //maximum one dimensional map resolution
#include <iostream>
#include <fstream>
#include <string>
#include "G4ThreeVector.hh"
using namespace std;
class XLogicalLattice{
private:
int fVresTheta; //velocity map theta resolution (inclination)
int fVresPhi; //velocity map phi resolution (azimuth)
int fDresTheta; //direction map theta resn
int fDresPhi; //direction map phi resn
double fMap[3][MAXRES][MAXRES]; //map for group velocity scalars
double fN_map[3][MAXRES][MAXRES][3];//normalized map containing group V direction unit vectors
double fA; //Scaling constant for Anh.Dec. mean free path
double fB; //Scaling constant for Iso.Scat. mean free path
double fDosL; //Density of states for L-phonons
double fDosST; //Density of states for ST-phonons
double fDosFT; //Density of states for FT-phonons
double fBeta, fGamma, fLambda, fMu; //dynamical constants for material
ifstream fMapFile;
int fThetaRes, fPhiRes;
public:
XLogicalLattice();
~XLogicalLattice();
void SetDynamicalConstants(double, double, double, double);
void SetScatteringConstant(G4double);
void SetAnhDecConstant(G4double);
void SetLDOS(double);
void SetSTDOS(double);
void SetFTDOS(double);
double GetBeta();
double GetGamma();
double GetLambda();
double GetMu();
G4double GetScatteringConstant();
G4double GetAnhDecConstant();
double GetLDOS();
double GetSTDOS();
double GetFTDOS();
bool LoadMap(int, int, int, string);
bool Load_NMap(int, int, int, string);
double MapKtoV(int, G4ThreeVector); //Get full group velocity vector
G4ThreeVector MapKtoVDir(int, G4ThreeVector);//Get normalized group velocity direction so that normalisatioon does not have to be done at run time
};
#endif
@@ -1,95 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XPhononDownconversionProcess.hh
/// \brief Definition of the XPhononDownconversionProcess class
//
// $Id$
//
#ifndef XPhononDownconversionProcess_h
#define XPhononDownconversionProcess_h 1
#include "G4ios.hh"
#include "globals.hh"
#include "G4VDiscreteProcess.hh"
#include "XPhysicalLattice.hh"
class XPhononDownconversionProcess : public G4VDiscreteProcess
{
public:
XPhononDownconversionProcess(const G4String& processName ="XPhononDownconversionProcess" );
virtual ~XPhononDownconversionProcess();
virtual G4VParticleChange* PostStepDoIt(
const G4Track&, const G4Step& );
virtual G4bool IsApplicable(const G4ParticleDefinition&);
protected:
virtual G4double GetMeanFreePath(
const G4Track&, G4double, G4ForceCondition* );
private:
double fBeta, fGamma, fLambda, fMu;
// hide assignment operator as private
XPhononDownconversionProcess(XPhononDownconversionProcess&);
XPhononDownconversionProcess& operator=(const XPhononDownconversionProcess& right);
// relative probability that anharmonic decay occurs L->L'+T'
inline double GetLTDecayProb(G4double, G4double);
inline double GetTTDecayProb(G4double, G4double);
inline double MakeLDeviation(G4double, G4double);
inline double MakeTTDeviation(G4double, G4double);
inline double MakeTDeviation(G4double, G4double);
void MakeTTSecondaries(const G4Track&);
void MakeLTSecondaries(const G4Track&);
XPhysicalLattice* Lattice;
};
#endif
@@ -1,84 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XPhononReflectionProcess.hh
/// \brief Definition of the XPhononReflectionProcess class
//
// $Id$
//
#ifndef XPhononReflectionProcess_h
#define XPhononReflectionProcess_h 1
#include "G4ios.hh"
#include "globals.hh"
#include "G4VDiscreteProcess.hh"
class G4Material;
class XPhononReflectionProcess : public G4VDiscreteProcess
{
public:
XPhononReflectionProcess(const G4String& processName ="XPhononReflectionProcess" );
virtual ~XPhononReflectionProcess();
virtual G4VParticleChange* PostStepDoIt(
const G4Track&, const G4Step& );
virtual G4bool IsApplicable(const G4ParticleDefinition&);
virtual void BuildPhysicsTable(const G4ParticleDefinition&);
protected:
virtual G4double GetMeanFreePath(
const G4Track&, G4double, G4ForceCondition* );
private:
// hide assignment operator as private
XPhononReflectionProcess(XPhononReflectionProcess&);
XPhononReflectionProcess& operator=(const XPhononReflectionProcess& right);
private:
G4Material* fAlminum;
G4double kCarTolerance;
};
#endif
@@ -1,78 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XPhononScatteringProcess.hh
/// \brief Definition of the XPhononScatteringProcess class
//
// $Id$
//
#ifndef XPhononScatteringProcess_h
#define XPhononScatteringProcess_h 1
#define LON 0
#include "G4ios.hh"
#include "globals.hh"
#include "G4VDiscreteProcess.hh"
#include "XLatticeManager3.hh"
class XPhononScatteringProcess : public G4VDiscreteProcess
{
public:
XPhononScatteringProcess(const G4String& processName ="XPhononScattering" );
virtual ~XPhononScatteringProcess();
virtual G4VParticleChange* PostStepDoIt(
const G4Track&, const G4Step& );
virtual G4bool IsApplicable(const G4ParticleDefinition&);
protected:
virtual G4double GetMeanFreePath(
const G4Track&, G4double, G4ForceCondition* );
private:
// hide assignment operator as private
XPhononScatteringProcess(XPhononScatteringProcess&);
XPhononScatteringProcess& operator=(const XPhononScatteringProcess& right);
};
#endif
+1 -1
View File
@@ -26,7 +26,7 @@
/// \file exoticphysics/phonon/include/XPhononStackingAction.hh
/// \brief Definition of the XPhononStackingAction class
//
// $Id$
// $Id: XPhononStackingAction.hh 76246 2013-11-08 11:17:29Z gcosmo $
//
#ifndef XPhononStackingAction_h
#define XPhononStackingAction_h 1
@@ -1,81 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XPhononTrackInformation.hh
/// \brief Definition of the XPhononTrackInformation class
//
// $Id$
//
#ifndef XPhononTrackInformation_h
#define XPhononTrackInformation_h 1
#include "globals.hh"
#include "G4ThreeVector.hh"
#include "G4ParticleDefinition.hh"
#include "G4Track.hh"
#include "G4Allocator.hh"
#include "G4VUserTrackInformation.hh"
class XPhononTrackInformation : public G4VUserTrackInformation
{
public:
XPhononTrackInformation();
XPhononTrackInformation(const G4Track* aTrack);
XPhononTrackInformation(const XPhononTrackInformation* aTrackInfo);
XPhononTrackInformation(G4ThreeVector kNew);
virtual ~XPhononTrackInformation();
inline void *operator new(size_t);
inline void operator delete(void *aTrackInfo);
inline int operator == (const XPhononTrackInformation& right) const {return (this==&right);}
XPhononTrackInformation& operator = (const XPhononTrackInformation& right);
//void SetSourceTrackInformation(const G4Track* aTrack);
void Print() const;
private:
G4ThreeVector fK;
public:
inline G4ThreeVector GetK() const {return fK;}
inline void SetK(G4ThreeVector kNew){fK=G4ThreeVector(kNew);}
};
extern G4Allocator<XPhononTrackInformation> aTrackInformationAllocator;
inline void* XPhononTrackInformation::operator new(size_t)
{ void* aTrackInfo;
aTrackInfo = (void*)aTrackInformationAllocator.MallocSingle();
return aTrackInfo;
}
inline void XPhononTrackInformation::operator delete(void *aTrackInfo)
{ aTrackInformationAllocator.FreeSingle((XPhononTrackInformation*)aTrackInfo);}
#endif
@@ -1,92 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XPhysicalLattice.hh
/// \brief Definition of the XPhysicalLattice class
//
// $Id$
//
#ifndef XPhysicalLattice_h
#define XPhysicalLattice_h 1
#include "XLogicalLattice.hh"
#include "G4ThreeVector.hh"
#include "G4AffineTransform.hh"
class G4VPhysicalVolume;
class XPhysicalLattice{
private:
G4double fTheta, fPhi;
XLogicalLattice* fLattice;
G4VPhysicalVolume* fVolume;
double fA; //Scaling constant for Anh.Dec. mean free path
double fB; //Scaling constant for Iso.Scat. mean free path
double fDosL; //Density of states for L-phonons
double fDosST; //Density of states for ST-phonons
double fDosFT; //Density of states for FT-phonons
double fBeta, fGamma, fLambda, fMu; //dynamical constants for material
public:
G4AffineTransform fLocalToGlobal;
G4AffineTransform fGlobalToLocal;
void SetDynamicalConstants(double, double, double, double);
void SetScatteringConstant(G4double);
void SetAnhDecConstant(G4double);
void SetLDOS(double);
void SetSTDOS(double);
void SetFTDOS(double);
double GetBeta();
double GetGamma();
double GetLambda();
double GetMu();
G4double GetScatteringConstant();
G4double GetAnhDecConstant();
double GetLDOS();
double GetSTDOS();
double GetFTDOS();
XPhysicalLattice();
XPhysicalLattice(G4VPhysicalVolume*, XLogicalLattice*);
~XPhysicalLattice();
double MapKtoV(int, G4ThreeVector);
G4ThreeVector MapKtoVDir(int, G4ThreeVector);
G4VPhysicalVolume* GetVolume();
void SetPhysicalVolume(G4VPhysicalVolume*);
void SetXLogicalLattice(XLogicalLattice*);
void SetLatticeOrientation(G4double, G4double);
void SetMillerOrientation(int, int, int);
};
#endif
+13 -15
View File
@@ -26,30 +26,28 @@
/// \file exoticphysics/phonon/include/XPhysicsList.hh
/// \brief Definition of the XPhysicsList class
//
// $Id$
// $Id: XPhysicsList.hh 76938 2013-11-19 09:51:36Z gcosmo $
//
// 20131117 Add verbosity argument, to set verbosity from main program
#ifndef XPhysicsList_h
#define XPhysicsList_h 1
#include "G4VUserPhysicsList.hh"
#include "globals.hh"
class XPhysicsList: public G4VUserPhysicsList
{
public:
XPhysicsList();
~XPhysicsList();
public:
// Construct particle and physics
void ConstructParticle();
void ConstructProcess();
void SetCuts();
private:
class XPhysicsList : public G4VUserPhysicsList {
public:
XPhysicsList(G4int verbose=0);
~XPhysicsList();
// Construct particle and physics
virtual void ConstructParticle();
virtual void ConstructProcess();
virtual void SetCuts();
};
#endif
#endif /* XPhysicsList_h */
+2 -2
View File
@@ -26,7 +26,7 @@
/// \file exoticphysics/phonon/include/XPrimaryGeneratorAction.hh
/// \brief Definition of the XPrimaryGeneratorAction class
//
// $Id$
// $Id: XPrimaryGeneratorAction.hh 76246 2013-11-08 11:17:29Z gcosmo $
//
#ifndef XPrimaryGeneratorAction_h
@@ -49,7 +49,7 @@ public:
virtual void GeneratePrimaries(G4Event*);
private:
G4ParticleGun* particleGun;
G4ParticleGun* fParticleGun;
};
@@ -1,58 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XTPhononFast.hh
/// \brief Definition of the XTPhononFast class
//
// $Id$
//
#ifndef XTPhononFast_h
#define XTPhononFast_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
class XTPhononFast : public G4ParticleDefinition
{
private:
static XTPhononFast* theInstance;
private:
XTPhononFast () {}
public:
~XTPhononFast (){}
static XTPhononFast* Definition();
static XTPhononFast* PhononDefinition();
};
#endif
@@ -1,58 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file exoticphysics/phonon/include/XTPhononSlow.hh
/// \brief Definition of the XTPhononSlow class
//
// $Id$
//
#ifndef XTPhononSlow_h
#define XTPhononSlow_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
class XTPhononSlow : public G4ParticleDefinition
{
private:
static XTPhononSlow* theInstance;
private:
XTPhononSlow () {}
public:
~XTPhononSlow (){}
static XTPhononSlow* Definition();
static XTPhononSlow* PhononDefinition();
};
#endif