Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -27,81 +27,72 @@
|
||||
/// \file optical/LXe/include/LXeMainVolume.hh
|
||||
/// \brief Definition of the LXeMainVolume class
|
||||
//
|
||||
#ifndef LXeMainVolume_H
|
||||
#define LXeMainVolume_H 1
|
||||
|
||||
#include "G4PVPlacement.hh"
|
||||
#include "G4Box.hh"
|
||||
#include "G4Tubs.hh"
|
||||
#include "G4Sphere.hh"
|
||||
#include "G4Material.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4OpticalSurface.hh"
|
||||
#ifndef LXeMainVolume_h
|
||||
#define LXeMainVolume_h 1
|
||||
|
||||
#include "LXeDetectorConstruction.hh"
|
||||
|
||||
#include "G4PVPlacement.hh"
|
||||
|
||||
class G4Box;
|
||||
class G4LogicalVolume;
|
||||
class G4Sphere;
|
||||
class G4Tubs;
|
||||
|
||||
class LXeMainVolume : public G4PVPlacement
|
||||
{
|
||||
public:
|
||||
public:
|
||||
LXeMainVolume(G4RotationMatrix* pRot, const G4ThreeVector& tlate,
|
||||
G4LogicalVolume* pMotherLogical, G4bool pMany, G4int pCopyNo,
|
||||
LXeDetectorConstruction* c);
|
||||
|
||||
LXeMainVolume(G4RotationMatrix *pRot,
|
||||
const G4ThreeVector &tlate,
|
||||
G4LogicalVolume *pMotherLogical,
|
||||
G4bool pMany,
|
||||
G4int pCopyNo,
|
||||
LXeDetectorConstruction* c);
|
||||
G4LogicalVolume* GetLogPhotoCath() { return fPhotocath_log; }
|
||||
G4LogicalVolume* GetLogScint() { return fScint_log; }
|
||||
|
||||
G4LogicalVolume* GetLogPhotoCath() {return fPhotocath_log;}
|
||||
G4LogicalVolume* GetLogScint() {return fScint_log;}
|
||||
std::vector<G4ThreeVector> GetPmtPositions() { return fPmtPositions; }
|
||||
|
||||
std::vector<G4ThreeVector> GetPmtPositions() {return fPmtPositions;}
|
||||
private:
|
||||
void VisAttributes();
|
||||
void SurfaceProperties();
|
||||
|
||||
private:
|
||||
void PlacePMTs(G4LogicalVolume* pmt_Log, G4RotationMatrix* rot, G4double& a,
|
||||
G4double& b, G4double da, G4double db, G4double amin,
|
||||
G4double bmin, G4int na, G4int nb, G4double& x, G4double& y,
|
||||
G4double& z, G4int& k);
|
||||
|
||||
void VisAttributes();
|
||||
void SurfaceProperties();
|
||||
void CopyValues();
|
||||
|
||||
void PlacePMTs(G4LogicalVolume* pmt_Log,
|
||||
G4RotationMatrix* rot,
|
||||
G4double &a, G4double &b, G4double da,
|
||||
G4double db, G4double amin, G4double bmin,
|
||||
G4int na, G4int nb,
|
||||
G4double &x, G4double &y, G4double &z, G4int &k);
|
||||
LXeDetectorConstruction* fConstructor;
|
||||
|
||||
void CopyValues();
|
||||
G4double fScint_x;
|
||||
G4double fScint_y;
|
||||
G4double fScint_z;
|
||||
G4double fD_mtl;
|
||||
G4int fNx;
|
||||
G4int fNy;
|
||||
G4int fNz;
|
||||
G4double fOuterRadius_pmt;
|
||||
G4bool fSphereOn;
|
||||
G4double fRefl;
|
||||
|
||||
LXeDetectorConstruction* fConstructor;
|
||||
// Basic Volumes
|
||||
//
|
||||
G4Box* fScint_box;
|
||||
G4Box* fHousing_box;
|
||||
G4Tubs* fPmt;
|
||||
G4Tubs* fPhotocath;
|
||||
G4Sphere* fSphere;
|
||||
|
||||
G4double fScint_x;
|
||||
G4double fScint_y;
|
||||
G4double fScint_z;
|
||||
G4double fD_mtl;
|
||||
G4int fNx;
|
||||
G4int fNy;
|
||||
G4int fNz;
|
||||
G4double fOuterRadius_pmt;
|
||||
G4bool fSphereOn;
|
||||
G4double fRefl;
|
||||
|
||||
//Basic Volumes
|
||||
//
|
||||
G4Box* fScint_box;
|
||||
G4Box* fHousing_box;
|
||||
G4Tubs* fPmt;
|
||||
G4Tubs* fPhotocath;
|
||||
G4Sphere* fSphere;
|
||||
|
||||
// Logical volumes
|
||||
//
|
||||
G4LogicalVolume* fScint_log;
|
||||
G4LogicalVolume* fHousing_log;
|
||||
G4LogicalVolume* fPmt_log;
|
||||
G4LogicalVolume* fPhotocath_log;
|
||||
G4LogicalVolume* fSphere_log;
|
||||
|
||||
// Sensitive Detectors positions
|
||||
std::vector<G4ThreeVector> fPmtPositions;
|
||||
// Logical volumes
|
||||
//
|
||||
G4LogicalVolume* fScint_log;
|
||||
G4LogicalVolume* fHousing_log;
|
||||
G4LogicalVolume* fPmt_log;
|
||||
G4LogicalVolume* fPhotocath_log;
|
||||
G4LogicalVolume* fSphere_log;
|
||||
|
||||
// Sensitive Detectors positions
|
||||
std::vector<G4ThreeVector> fPmtPositions;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user