Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
CCalEcal Class Reference

#include <CCalEcal.hh>

Inheritance diagram for CCalEcal:
CCalDetector CCalG4Ecal

Public Member Functions

 CCalEcal (const G4String &name)
 
virtual ~CCalEcal ()
 
G4String getGenMat () const
 
double getWidBox () const
 
double getLengBox () const
 
double getXpos () const
 
double getYpos () const
 
double getZpos () const
 
double getThetaX () const
 
double getPhiX () const
 
double getThetaY () const
 
double getPhiY () const
 
double getThetaZ () const
 
double getPhiZ () const
 
G4String getLayMat () const
 
int getLayNum () const
 
double getLayRadius () const
 
double getLayAngle () const
 
double getLengFront () const
 
double getLayPar (unsigned int i) const
 
G4String getCrystMat () const
 
int getCrystNum () const
 
double getCrystLength () const
 
double getCrystTol () const
 
double getCrystPar (unsigned int i) const
 
G4String getSuppMat () const
 
double getDxSupp () const
 
double getDySupp () const
 
double getDzSupp () const
 
double getDistSupp () const
 
- Public Member Functions inherited from CCalDetector
 CCalDetector (const G4String &name)
 
virtual ~CCalDetector ()
 
void constructHierarchy ()
 
void construct ()
 
void addDetector (CCalDetector *)
 
G4String Name () const
 
G4String baseFileName () const
 
G4String File () const
 
CCalDetectorgetDaughter (int i) const
 
int getNDaughters () const
 
G4bool operator== (const CCalDetector &left) const
 
G4bool operator!= (const CCalDetector &left) const
 

Protected Member Functions

virtual int readFile ()
 
virtual void constructDaughters ()
 
- Protected Member Functions inherited from CCalDetector
int buildFromFile ()
 

Additional Inherited Members

- Protected Attributes inherited from CCalDetector
G4String detectorName
 
G4String fileName
 
CCalDetectorTable theDetectorsInside
 
int constructFlag
 
- Static Protected Attributes inherited from CCalDetector
static G4String pathName = getenv("CCAL_GEOMPATH")
 

Detailed Description

Definition at line 35 of file CCalEcal.hh.

Constructor & Destructor Documentation

CCalEcal::CCalEcal ( const G4String name)
inline

Definition at line 38 of file CCalEcal.hh.

38  :
39  CCalDetector(name) {}
CCalDetector(const G4String &name)
Definition: CCalDetector.cc:44
CCalEcal::~CCalEcal ( )
virtual

Definition at line 37 of file CCalEcal.cc.

37 {}

Member Function Documentation

void CCalEcal::constructDaughters ( )
protectedvirtual

Implements CCalDetector.

Definition at line 111 of file CCalEcal.cc.

111 {}
double CCalEcal::getCrystLength ( ) const
inline

Definition at line 63 of file CCalEcal.hh.

63 {return crystLength;}
G4String CCalEcal::getCrystMat ( ) const
inline

Definition at line 61 of file CCalEcal.hh.

61 {return crystMat;}
int CCalEcal::getCrystNum ( ) const
inline

Definition at line 62 of file CCalEcal.hh.

62 {return crystNum;}
double CCalEcal::getCrystPar ( unsigned int  i) const
inline

Definition at line 65 of file CCalEcal.hh.

65 {return crystPar[i];}
double CCalEcal::getCrystTol ( ) const
inline

Definition at line 64 of file CCalEcal.hh.

64 {return crystTol;}
double CCalEcal::getDistSupp ( ) const
inline

Definition at line 70 of file CCalEcal.hh.

70 {return distSupp;}
double CCalEcal::getDxSupp ( ) const
inline

Definition at line 67 of file CCalEcal.hh.

67 {return dxSupp;}
double CCalEcal::getDySupp ( ) const
inline

Definition at line 68 of file CCalEcal.hh.

68 {return dySupp;}
double CCalEcal::getDzSupp ( ) const
inline

Definition at line 69 of file CCalEcal.hh.

69 {return dzSupp;}
G4String CCalEcal::getGenMat ( ) const
inline

Definition at line 43 of file CCalEcal.hh.

43 {return genMat;}
double CCalEcal::getLayAngle ( ) const
inline

Definition at line 58 of file CCalEcal.hh.

58 {return layAngle;}
G4String CCalEcal::getLayMat ( ) const
inline

Definition at line 55 of file CCalEcal.hh.

55 {return layMat;}
int CCalEcal::getLayNum ( ) const
inline

Definition at line 56 of file CCalEcal.hh.

56 {return layNum;}
double CCalEcal::getLayPar ( unsigned int  i) const
inline

Definition at line 60 of file CCalEcal.hh.

60 {return layPar[i];}
double CCalEcal::getLayRadius ( ) const
inline

Definition at line 57 of file CCalEcal.hh.

57 {return layRadius;}
double CCalEcal::getLengBox ( ) const
inline

Definition at line 45 of file CCalEcal.hh.

45 {return lengBox;}
double CCalEcal::getLengFront ( ) const
inline

Definition at line 59 of file CCalEcal.hh.

59 {return lengFront;}
double CCalEcal::getPhiX ( ) const
inline

Definition at line 50 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

50 {return phiX;}
double CCalEcal::getPhiY ( ) const
inline

Definition at line 52 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

52 {return phiY;}
double CCalEcal::getPhiZ ( ) const
inline

Definition at line 54 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

54 {return phiZ;}
G4String CCalEcal::getSuppMat ( ) const
inline

Definition at line 66 of file CCalEcal.hh.

66 {return suppMat;}
double CCalEcal::getThetaX ( ) const
inline

Definition at line 49 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

49 {return thetaX;}
double CCalEcal::getThetaY ( ) const
inline

Definition at line 51 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

51 {return thetaY;}
double CCalEcal::getThetaZ ( ) const
inline

Definition at line 53 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

53 {return thetaZ;}
double CCalEcal::getWidBox ( ) const
inline

Definition at line 44 of file CCalEcal.hh.

44 {return widBox;}
double CCalEcal::getXpos ( ) const
inline

Definition at line 46 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

46 {return xpos;}
double CCalEcal::getYpos ( ) const
inline

Definition at line 47 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

47 {return ypos;}
double CCalEcal::getZpos ( ) const
inline

Definition at line 48 of file CCalEcal.hh.

Referenced by CCalG4Ecal::constructIn().

48 {return zpos;}
int CCalEcal::readFile ( )
protectedvirtual

Implements CCalDetector.

Definition at line 39 of file CCalEcal.cc.

References python.hepunit::deg, CCalDetector::File(), findDO(), G4cout, G4endl, jump(), openGeomFile(), CCalDetector::pathName, readName(), and tab().

39  {
40  ///////////////////////////////////////////////////////////////
41  //Let's open the file
42  G4cout << " ==> Opening file " << File() << " to read elements..."
43  << G4endl;
44 
45  std::ifstream is;
46  bool ok = openGeomFile(is, pathName, File());
47  if (!ok)
48  return 0;
49 
50  // Find *DO CrystalMatrix
51  findDO(is, G4String("CrystalMatrix"));
52 
53  //Let's read overall box dimensions and positions
54  readName(is,genMat);
55  is >> widBox >> lengBox >> xpos >> ypos >> zpos >> thetaX >> phiX
56  >> thetaY >> phiY >> thetaZ >> phiZ >> jump;
57 #ifdef debug
58  G4cout << tab << "General material: " << genMat << "\tBox dimensions "
59  << widBox << ", " << lengBox << G4endl;
60  G4cout << tab << "Positioned at (" << xpos << ", " << ypos << ", " << zpos
61  << ") with rotation (" << thetaX << ", " << phiX << ", " << thetaY
62  << ", " << phiY << ", " << thetaZ << ", " << phiZ << ")" << G4endl;
63 #endif
64 
65  //Then the layer positions
66  int i=0;
67  readName(is,layMat);
68  is >> layNum >> layRadius >> layAngle >> lengFront;
69  for (i=0; i<5; i++)
70  is >> layPar[i];
71 #ifdef debug
72  G4cout << tab << "Layer material: " << layMat << " Number " << layNum
73  << " Radius " << layRadius << " Angle " << layAngle/deg
74  << " front dist " << lengFront << " Parameters ";
75  for (i=0; i<5; i++)
76  G4cout << layPar[i] << " ";
77  G4cout << G4endl;
78 #endif
79 
80  //Then the crystal positions
81  readName(is,crystMat);
82  is >> crystNum >> crystLength >> crystTol;
83  for (i=0; i<5; i++)
84  is >> crystPar[i];
85 #ifdef debug
86  G4cout << tab << "Crystal material: " << crystMat << " Number " << crystNum
87  << " Length " << crystLength << " Tolerance " << crystTol
88  << " Parameters ";
89  for (i=0; i<5; i++)
90  G4cout << crystPar[i] << " ";
91  G4cout << G4endl;
92 #endif
93 
94  //Then the support material
95  readName(is,suppMat);
96  is >> dxSupp >> dySupp >> dzSupp >> distSupp >> jump;
97 #ifdef debug
98  G4cout << tab << "Support material: " << suppMat << " Dimensions " << dxSupp
99  << ", " << dySupp << ", " << dzSupp << " Distance " << distSupp << G4endl;
100 #endif
101 
102  ///////////////////////////////////////////////////////////////
103  // Close the file
104  G4cout << " ==> Closing file " << File() << G4endl;
105  is.close();
106 
107  return 1;
108 
109 }
bool openGeomFile(std::ifstream &is, const G4String &pathname, const G4String &filename)
Definition: CCalutils.cc:116
std::istream & jump(std::istream &)
Definition: CCalutils.cc:95
std::ifstream & findDO(std::ifstream &, const G4String &)
Definition: CCalutils.cc:72
std::ifstream & readName(std::ifstream &, G4String &)
Definition: CCalutils.cc:53
G4GLOB_DLL std::ostream G4cout
std::ostream & tab(std::ostream &)
Definition: CCalutils.cc:89
static G4String pathName
#define G4endl
Definition: G4ios.hh:61
G4String File() const
Definition: CCalDetector.hh:79

The documentation for this class was generated from the following files: