Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

ParamOpticalSystem

#include "ParamOpticalSystem.hh"

ParamOpticalSystem


class description - source file - inheritance tree (.pdf)

class ParamOpticalSystem : public OpticalSystem

Inheritance Chart:
EsafConfigurable
EsafMsgSource
<-
DetectorPhotonTransporter
<-
OpticalSystem
<-
ParamOpticalSystem
    private:
Bool_t InitIntegral() Bool_t IsAbsorbed(Double_t th, Double_t wl) const public:
ParamOpticalSystem() virtual ~ParamOpticalSystem() static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const Double_t DistanceToRadius(Double_t) const Double_t FocalSurfProfile(Double_t) const Double_t GetDmax() const Double_t* GetIntegral() const Int_t GetNbins() const Double_t GetRmax() const const TF2* GetSpreadFun() const Double_t GetThetaMax() const virtual TClass* IsA() const virtual void ShowMembers(TMemberInspector& insp, char* parent) Bool_t Spread(Double_t th, Double_t wl, Double_t& x, Double_t& y, Double_t& a, Double_t& b) const virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Photon* Transport(Photon*) const

Data Members

    private:
ParamOpticalSystem::EFSDescriptor fFSDescriptor IdealFocalSurface* fIdealFocalSurface Double_t fDmax Double_t fRmax Double_t fThetaMax Double_t fOutLensBorder Interpolate* fTotalEfficacy ParamOpticalSystem::EPsfType fPsfType Interpolate* fGaussSpread Double_t fGaussAmpl Double_t fGaussSigma Double_t fEPD TF2* fSpreadFun Double_t* fIntegral Int_t fNbins Size of fIntegral public:
static const ParamOpticalSystem::EFSDescriptor kIdeal static const ParamOpticalSystem::EFSDescriptor kTF2 static const ParamOpticalSystem::EPsfType kPoint static const ParamOpticalSystem::EPsfType kGauss static const ParamOpticalSystem::EPsfType kGaussVsTheta static const ParamOpticalSystem::EGaussPar kAmpl static const ParamOpticalSystem::EGaussPar kSigma static const enum ParamOpticalSystem:: kOutOfPupil static const enum ParamOpticalSystem:: kOutOfFoV static const enum ParamOpticalSystem:: kAbsorbed static const enum ParamOpticalSystem:: kOutOfPsf static const enum ParamOpticalSystem:: kTransportError

Class Description

   Parameterized Optical System
   ============================

   Parameterized optical system. This Optical System is done to reproduce the
   behaviour of an optics design through a set of parameters.
   The main pourpose is to simulate and OS with a given Triggering efficacy
   without the need of the full MC simulation.

   ParamOpticalSystem behaves as an ideal optical system with a given focal
   surface.

   The position an incoming photon hits the focal surface is calculated
   accordingly the relation

   d = (Dmax/ThetaMax)*theta

   where:
   d is the distance of the impact point on the FS from the center of the FS
   calculated along the FS.

   Dmax is the maximum distancs.

   theta is the angle between the incoming photon direction and the optical
   axis.

   ThetaMax is the maximum value of theta accepted by the optics.


   Config file parameters
   ======================

   fPos.Z [mm]: Z coordinate of the bottom base of the OpticalSystem in
   the Detector Reference System.

   fRadius [mm]: Radius of the Optical Sytem.

   fRmax [mm]: Maximmum radius of the Focal Surface.

   fDZ [mm]: Heigth of the Optical System.

   fThetaMax [deg]: Maximum valid incident angle of an incoming photon.

   fFocalSurfaceZ [mm]: Z coordinate of the center (tip) of the focal
   surface.

   fDataDirectory: path where data files are stored. If it begins with '/'
   path is assumed to be absolute, otherwise relative to this cfg file current
   position

   fTotalEfficacy.fFilename [string]: two column file containing the
   total efficacy as a function of the incident angle.

   fAnglesOfIncidence.fFilename [string]: two column file containing the chief
   ray incident angle on the focal surface as a function of the incident
   angle on the pupil.

   fPsfType [string]: type of PSF to use.
   * options
      - point: No spread.
      - gauss: Gaussian psf. RMS and angles of incidence listed in
               fGaussSpread.filename

   fGaussSpread.fFilename [string]: three column file containing RMS of the
   gaussian psf and focal surface incident photons cone aperture.



ParamOpticalSystem() : fTotalEfficacy(0), fGaussSpread(0), fIntegral(0)
 Constructor


~ParamOpticalSystem()
 Destructor


Bool_t InitIntegral()
 Initialize integral tables


Photon* Transport(Photon *ph) const
 Transport photon through the optics


Double_t FocalSurfProfile( Double_t r ) const
 Profile of the focal surface Z(r)


Double_t DistanceToRadius( Double_t d ) const
 Distance from the fs vertex to r using linear interpolation


Bool_t IsAbsorbed( Double_t th, Double_t wl) const
 True if photon is absorbed


Bool_t Spread( Double_t th, Double_t wl, Double_t &x, Double_t &y, Double_t &a, Double_t &b ) const
 Returns a random point (x,y) and angles (a,b) according psf(th,wl)




Inline Functions


           Double_t GetDmax() const
          Double_t* GetIntegral() const
              Int_t GetNbins() const
           Double_t GetRmax() const
         const TF2* GetSpreadFun() const
           Double_t GetThetaMax() const
        const char* ClassType() const
        const char* ClassName() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update Wed Nov 16 16:19:35 2005