source: trunk/examples/advanced/composite_calorimeter/include/CCalEcal.hh @ 1327

Last change on this file since 1327 was 807, checked in by garnier, 16 years ago

update

File size: 5.0 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26///////////////////////////////////////////////////////////////////////////////
27// File: CCalEcal.hh
28// Description: CCalEcal Geometry factory class for crystal matrix
29///////////////////////////////////////////////////////////////////////////////
30#ifndef CCalEcal_h
31#define CCalEcal_h 1
32
33#include "CCalDetector.hh"
34
35class CCalEcal: public CCalDetector {
36public:
37  //Constructor and Destructor
38  CCalEcal(const G4String &name):
39    CCalDetector(name) {}
40  virtual ~CCalEcal();
41
42  //Get Methods
43  G4String getGenMat()               const {return genMat;}
44  double getWidBox()                 const {return widBox;}
45  double getLengBox()                const {return lengBox;}
46  double getXpos()                   const {return xpos;}
47  double getYpos()                   const {return ypos;}
48  double getZpos()                   const {return zpos;}
49  double getThetaX()                 const {return thetaX;}
50  double getPhiX()                   const {return phiX;}
51  double getThetaY()                 const {return thetaY;}
52  double getPhiY()                   const {return phiY;}
53  double getThetaZ()                 const {return thetaZ;}
54  double getPhiZ()                   const {return phiZ;}
55  G4String getLayMat()               const {return layMat;}
56  int getLayNum()                    const {return layNum;}
57  double getLayRadius()              const {return layRadius;}
58  double getLayAngle()               const {return layAngle;}
59  double getLengFront()              const {return lengFront;}
60  double getLayPar(unsigned int i)   const {return layPar[i];}
61  G4String getCrystMat()             const {return crystMat;}
62  int getCrystNum()                  const {return crystNum;}
63  double getCrystLength()            const {return crystLength;}
64  double getCrystTol()               const {return crystTol;}
65  double getCrystPar(unsigned int i) const {return crystPar[i];}
66  G4String getSuppMat()              const {return suppMat;}
67  double getDxSupp()                 const {return dxSupp;}
68  double getDySupp()                 const {return dySupp;}
69  double getDzSupp()                 const {return dzSupp;}
70  double getDistSupp()               const {return distSupp;}
71
72
73protected:
74  virtual int readFile();
75  virtual void constructDaughters();
76
77private:
78  G4String genMat;                            //General material
79  double widBox, lengBox;                     //Box parameters
80  double xpos, ypos, zpos;                    //Translation matrix definition
81  double thetaX,phiX,thetaY,phiY,thetaZ,phiZ; //Rotation matrix definition
82  G4String layMat;                            //Material for the layers
83  int layNum;                                 //Layer numbers
84  double layRadius,layAngle;                  //Positioning parameters
85  double lengFront;                           //Distance from front
86  double layPar[5];                           //Layer parameters
87  G4String crystMat;                          //Material for the crystals
88  int crystNum;                               //Crystal numbers
89  double crystLength;                         //Crystal length
90  double crystTol;                            //Tolerance for position
91  double crystPar[5];                         //Crystal parameters
92  G4String suppMat;                           //Material of support system
93  double dxSupp, dySupp, dzSupp;              //Dimension of support material
94  double distSupp;                            //Separation of support material
95};
96
97#endif
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
Note: See TracBrowser for help on using the repository browser.