Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes

WCSimParameters Class Reference

#include "WCSimParameters.hh"

List of all members.

Public Member Functions

void RunPrintParameters ()
void SetSimpleTimeResolution ()
Bool_t SimpleTimeResolution ()
void SetSimpleTimeSlew ()
Bool_t SimpleTimeSlew ()
void SetSimpleRefractiveIndex ()
Bool_t SimpleRefractiveIndex ()
Double_t GetTimeResolution (Double_t Q)
Double_t GetTimeSlew (Double_t Q)
Double_t GetRefractiveIndex (Double_t r)
Double_t GetSimpleTimeResolution (Double_t Q)
Double_t GetSimpleTimeSlew ()
Double_t GetSimpleRefractiveIndex ()

Static Public Member Functions

static WCSimParametersInstance ()
static void UseSimpleParameters ()
static void UseSimpleTimeResolution ()
static void UseSimpleTimeSlew ()
static void UseSimpleRefractiveIndex ()
static Double_t SpeedOfLight ()
static Double_t CherenkovAngle ()
static Double_t TimeResolution (Double_t Q)
static Double_t TimeSlew (Double_t Q)
static Double_t RefractiveIndex (Double_t r)
static Double_t ThetaC ()
static Double_t CosThetaC ()
static void PrintParameters ()

Private Member Functions

 WCSimParameters ()
 ~WCSimParameters ()

Private Attributes

Bool_t fUseSimpleTimeResolution
Bool_t fUseSimpleTimeSlew
Bool_t fUseSimpleRefractiveIndex

Detailed Description

Definition at line 6 of file WCSimParameters.hh.


Constructor & Destructor Documentation

WCSimParameters::WCSimParameters (  )  [private]
WCSimParameters::~WCSimParameters (  )  [private]

Definition at line 37 of file WCSimParameters.cc.

{

}


Member Function Documentation

Double_t WCSimParameters::CherenkovAngle (  )  [static]

Definition at line 116 of file WCSimParameters.cc.

Referenced by WCSimVertexGeometry::CalcResiduals(), and WCSimGeometry::DistanceToIntersectLine().

{
  return 42.0;  // degrees
}

Double_t WCSimParameters::CosThetaC (  )  [static]

Definition at line 126 of file WCSimParameters.cc.

Referenced by ClassImp().

{
  return 0.743144825477394244;  // return TMath::Cos(42.0*TMath::Pi()/180.0);
}

Double_t WCSimParameters::GetRefractiveIndex ( Double_t  r  ) 

Definition at line 208 of file WCSimParameters.cc.

Referenced by RefractiveIndex().

{
  Double_t c = 29.98;       
  Double_t n0 = 1.33;        // Old Attempt:
  Double_t L0 = 0.0;         // 40.0     
  Double_t dndx = 0.000123;  // 0.00015  

  Double_t L = r/c;

  Double_t n = n0*(1.0+dndx*(L-L0));
  
  return n;
}

Double_t WCSimParameters::GetSimpleRefractiveIndex (  )  [inline]

Definition at line 43 of file WCSimParameters.hh.

Referenced by RefractiveIndex().

{ return 1.33; }

Double_t WCSimParameters::GetSimpleTimeResolution ( Double_t  Q  ) 

Definition at line 222 of file WCSimParameters.cc.

Referenced by TimeResolution().

{  
  Double_t qpes = Q;
  if( qpes<0.25 ) qpes = 0.25;
  if( qpes>64.0 ) qpes = 64.0;

  Double_t res = 2.0/sqrt(qpes);

  return res;
}

Double_t WCSimParameters::GetSimpleTimeSlew (  )  [inline]

Definition at line 42 of file WCSimParameters.hh.

Referenced by TimeSlew().

{ return 0.0; }

Double_t WCSimParameters::GetTimeResolution ( Double_t  Q  ) 

Definition at line 131 of file WCSimParameters.cc.

Referenced by TimeResolution().

{  
  /*
   // Old Parameterisation (lifted from WCSim)
   // ========================================
   Double_t qpes = Q;
   if( qpes<0.5 ) qpes = 0.5;
   if( qpes>32.0 ) qpes = 32.0;
   Double_t res = 0.33 + sqrt(2.0/qpes);  
  */

  /* 
   // Sep'2010: parameterisation, including scattered light:
   // ======================================================
   Double_t c0 = +0.271, c1 = +3.037, c2 = +2.543;

   // Aug'2011: re-parameterisation, excluding scattered light:
   // ========================================================
   Double_t c0 = +0.013, c1 = +3.592, c2 = -1.635; // [c2 is -ve, take care]

   // Nov'2011: re-parameterisation, for 200 kton geometry:
   // =====================================================
   Double_t c0 = -0.005, c1 = +3.634, c2 = -1.458; // [c2 is -ve, take care]
  */

  Double_t qpes = Q;
  Double_t qpesLow = 0.0;
  if( qpes<0.25 ) qpes = 0.25;
  if( qpes>40.0 ) qpes = 40.0;

  Double_t c0 = -0.005;
  Double_t c1 = +3.634;
  Double_t c2 = -1.458;

  if( c2<0.0 ){
    qpesLow = (2.0*c2/c1)*(2.0*c2/c1);
    if( qpes<qpesLow ) qpes = qpesLow;
  }

  Double_t res = c0 
               + c1/sqrt(qpes) 
               + c2/qpes;
  
  return res;
}

Double_t WCSimParameters::GetTimeSlew ( Double_t  Q  ) 

Definition at line 177 of file WCSimParameters.cc.

Referenced by TimeSlew().

{   
  /*
   // Sep'2010: parameterisation, including scattered light:
   // ======================================================
   Double_t c0 = +3.406, c1 = -2.423, c2 = +0.335;

   // Aug'2011: re-parameterisation, excluding scattered light:
   // =========================================================
   Double_t c0 = +2.234, c1 = -1.362, c2 = +0.125;  

   // Nov'2011: re-parameterisation, for 200 kton geometry:
   // =====================================================
   Double_t c0 = +2.436, c1 = -1.291, c2 = +0.089;  
  */

  Double_t qpes = Q;
  if( qpes<0.25 ) qpes = 0.25;
  if( qpes>40.0 ) qpes = 40.0;

  Double_t c0 = +2.436;
  Double_t c1 = -1.291;
  Double_t c2 = +0.089;

  Double_t dt = c0 
              + c1*log(qpes) 
              + c2*log(qpes)*log(qpes);

  return dt;
}

WCSimParameters * WCSimParameters::Instance (  )  [static]

Definition at line 13 of file WCSimParameters.cc.

Referenced by PrintParameters(), RefractiveIndex(), TimeResolution(), TimeSlew(), UseSimpleRefractiveIndex(), UseSimpleTimeResolution(), and UseSimpleTimeSlew().

{
  if( !fgParameters ){
    fgParameters = new WCSimParameters();
  }

  if( !fgParameters ){
    assert(fgParameters);
  }

  if( fgParameters ){

  }

  return fgParameters;
}

void WCSimParameters::PrintParameters (  )  [static]

Definition at line 94 of file WCSimParameters.cc.

References Instance(), and RunPrintParameters().

Double_t WCSimParameters::RefractiveIndex ( Double_t  r  )  [static]
void WCSimParameters::RunPrintParameters (  ) 

Definition at line 99 of file WCSimParameters.cc.

References fUseSimpleRefractiveIndex, fUseSimpleTimeResolution, and fUseSimpleTimeSlew.

Referenced by PrintParameters().

{
  std::cout << " *** WCSimParameters::PrintParameters() *** " << std::endl;

  std::cout << "  Reco Parameters: " << std::endl
            << "   UseSimpleTimeResolution = " << fUseSimpleTimeResolution << std::endl
            << "   UseSimpleTimeSlew = " << fUseSimpleTimeSlew << std::endl
            << "   UseSimpleRefractiveIndex = " << fUseSimpleRefractiveIndex << std::endl;

  return;
}

void WCSimParameters::SetSimpleRefractiveIndex (  )  [inline]

Definition at line 34 of file WCSimParameters.hh.

References fUseSimpleRefractiveIndex.

Referenced by UseSimpleRefractiveIndex().

void WCSimParameters::SetSimpleTimeResolution (  )  [inline]

Definition at line 28 of file WCSimParameters.hh.

References fUseSimpleTimeResolution.

Referenced by UseSimpleTimeResolution().

void WCSimParameters::SetSimpleTimeSlew (  )  [inline]

Definition at line 31 of file WCSimParameters.hh.

References fUseSimpleTimeSlew.

Referenced by UseSimpleTimeSlew().

Bool_t WCSimParameters::SimpleRefractiveIndex (  )  [inline]

Definition at line 35 of file WCSimParameters.hh.

References fUseSimpleRefractiveIndex.

Referenced by RefractiveIndex().

Bool_t WCSimParameters::SimpleTimeResolution (  )  [inline]

Definition at line 29 of file WCSimParameters.hh.

References fUseSimpleTimeResolution.

Referenced by TimeResolution().

Bool_t WCSimParameters::SimpleTimeSlew (  )  [inline]

Definition at line 32 of file WCSimParameters.hh.

References fUseSimpleTimeSlew.

Referenced by TimeSlew().

{ return fUseSimpleTimeSlew; }

Double_t WCSimParameters::SpeedOfLight (  )  [static]
Double_t WCSimParameters::ThetaC (  )  [static]

Definition at line 121 of file WCSimParameters.cc.

{
  return 42.0;  // degrees
}

Double_t WCSimParameters::TimeResolution ( Double_t  Q  )  [static]
Double_t WCSimParameters::TimeSlew ( Double_t  Q  )  [static]
void WCSimParameters::UseSimpleParameters (  )  [static]
void WCSimParameters::UseSimpleRefractiveIndex (  )  [static]
void WCSimParameters::UseSimpleTimeResolution (  )  [static]
void WCSimParameters::UseSimpleTimeSlew (  )  [static]

Definition at line 54 of file WCSimParameters.cc.

References Instance(), and SetSimpleTimeSlew().

Referenced by UseSimpleParameters().


Member Data Documentation


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