From: Matthew Worcester (mworcest@hep.uchicago.edu)
Date: Thu Apr 27 2006 - 16:11:39 CDT
Hi Bill,
Chris put the pmts in RAT, and I don't know exactly what formula he
used. There's a simple calculation in ReactorFsim to distribute pmts
evenly around a spherical detector. It is called SetPMT and it lives in
ReactorDetector.cpp. The code is attached below. The baselines are: R2
is the approximate radius of the photocathodes, PMTcoverage is 0.25 and
PMTdiameter is 20.16 cm. The photocathodes will be ~20 cm inside the
steel vessel, and for a 350 cm outer radius this gives 1044 pmts per
detector.
Cheers,
Matt
void ReactorDetector::SetPMT(){
//
// determine the number of PMT
//
float num_pmt = 16*R2*R2*PMTcoverage/PMTdiameter/PMTdiameter;
//cout << "num_pmt " << num_pmt << endl;
Ncosbins = int(sqrt(num_pmt/PI));
Nphibins = int(sqrt(num_pmt*PI));
Npmt = Ncosbins*Nphibins;
//cout << " Set Npmt " << Npmt << endl;
delete[] Xpmt;
delete[] Ypmt;
delete[] Zpmt;
PMTOutputArray.clear();
Xpmt = new double[Npmt];
Ypmt = new double[Npmt];
Zpmt = new double[Npmt];
PMTOutputArray.reserve(Npmt);
for(int i=0;i<Npmt;i++){
PMTOutputArray.push_back(PMToutput (i));
}
//
// Make a guess at PMT size to avoid too much re-sizing
//
delete[] PMTdata;
PMTlen = 0;
PMTsize = 10*Npmt;
PMTdata = new PMT[PMTsize];
//
// loop over cotheta, then phi
//
double* xpmt=Xpmt;
double* ypmt=Ypmt;
double* zpmt=Zpmt;
double dphi = 2*PI/Nphibins;
double dz = 2.0/Ncosbins;
for(int i=0;i<Ncosbins;i++){
double z = -1+i*dz+dz/2;
for(int j=0;j<Nphibins;j++){
double phi = j*dphi+dphi/2;
*xpmt++ = R2*sqrt(1-z*z)*cos(phi);
*ypmt++ = R2*sqrt(1-z*z)*sin(phi);
*zpmt++ = R2*z;
// cout << "z,phi " << z << " " << phi << endl;
}
}
}
On Thu, 27 Apr 2006, William Seligman wrote:
> Hi,
>
> I'm using the RAT simulation to do some studies for Janet. I'm playing
> around with phototube coverage, and varying the diameter of the detector.
>
> I've found the file PMTLOCATION.ratdb, which contains the phototube
> locations. I also see that I can scale the radial location of the
> phototubes as I vary the size of the detector.
>
> I assume those phototube locations came from a calculation somewhere. I
> think I'll have to increase the number of phototubes as I increase (or
> decrease) the size of the detector; I know I'll want to play with
> changing the phototube coverage keeping the detector radius constant.
>
> Is there a place where I can find that calculation?
>
This archive was generated by hypermail 2.1.6 : Fri Apr 28 2006 - 00:01:02 CDT