3 #include <Geant4/G4ThreeVector.hh>
4 #include <Geant4/G4Tubs.hh>
5 #include <Geant4/G4Types.hh>
6 #include <Geant4/G4VPhysicalVolume.hh>
32 , _radiusOut(radiusOut)
37 std::cout <<
" invalid eta, max<min"
46 std::cout <<
" invalid radius parameters:"
47 <<
" radiusIn: " << radiusIn
48 <<
" radiusOut: " << radiusOut
54 double dEta = totalEta /
_neta;
55 for (
unsigned int i = 0;
i < neta;
i++)
58 double etaMin = _minEta + dEta *
i;
59 double etaMax = etaMin + dEta;
65 double zpos = (zmin + zmax) / 2.0;
66 double zhalf = (zmax - zmin) / 2.0;
67 _zpos.push_back(zpos);
71 for (
unsigned int i = 0;
i <
_nphi;
i++)
81 div_t q = div((
int)
i, (
int)_nphi);
84 _ieta.push_back(ieta);
85 _iphi.push_back(iphi);
91 std::cout <<
"PHG4EtaPhiParameterization::~PHG4EtaPhiParameterization: Alas, poor Yorick! I knew him, Horatio"
97 os <<
"PhiEtaPhiParameterization: NETA x NPHI = " <<
_neta <<
" x " <<
_nphi << std::endl;
99 std::copy(
_zpos.begin(),
_zpos.end(), std::ostream_iterator<double>(
os,
" "));
102 std::copy(
_phi0.begin(),
_phi0.end(), std::ostream_iterator<double>(
os,
" "));
105 std::copy(
_phi0.begin(),
_phi0.end(), std::ostream_iterator<double>(
os,
" "));
111 int iring = copyNo /
_nphi;
113 physVol->SetTranslation(
origin);
114 physVol->SetRotation(0);
124 ring.SetZHalfLength(
_zhalf.at(ieta));
127 ring.SetStartPhiAngle(phi);
128 ring.SetDeltaPhiAngle(dphi);