source: JEM-EUSO/esaf_cc_at_lal/packages/simulation/detector/optics/include/DetectorTransportManager.hh @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 1.6 KB
Line 
1// DetectorTransportManager
2// $Id: DetectorTransportManager.hh 2855 2010-11-25 15:47:14Z biktem $
3//
4// This is the kernel of the optics simulation, it trasnports photons
5// between the detector elements.
6//
7#ifndef DETECTORTRANSPORTMANAGER_HH
8#define DETECTORTRANSPORTMANAGER_HH
9
10#include "OpticsFactory.hh"
11#include "Config.hh"
12#include "EVector.hh"
13#include "EsafConfigurable.hh"
14#include "VirtualDetectorTransportManager.hh"
15
16class PhotonsOnPupil;
17class EEvent;
18
19class DetectorTransportManager: public VirtualDetectorTransportManager, public DetectorPhotonTransporter {
20protected:
21    Double_t EusoCylIntersection( Photon *p ) const;
22    EVector InteractionPoint(Photon *p, Double_t radius = -1) const;
23    EVector NewInteractionPoint(const Photon *p, double DZ) const;
24
25    WallInteraction*   fWalls;
26    Baffle*            fBaffle;
27
28    Bool_t fEnableFocalPlane;
29
30
31public:
32    DetectorTransportManager();
33    virtual ~DetectorTransportManager() {};
34
35    virtual Photon* Transport(Photon *) const;
36    virtual void Go( PhotonsOnPupil* );
37
38    inline WallInteraction*   GetWalls() { return fWalls; }
39    inline Baffle*            GetBaffle() { return fBaffle; }
40
41    inline void EnableFocalPlane(Bool_t b=kTRUE){ fEnableFocalPlane=b;}
42
43    virtual void Reset();
44
45    EsafConfigClass(Optics,DetectorTransportManager)
46
47    ClassDef(DetectorTransportManager,0)
48};
49
50
51inline EVector DetectorTransportManager::NewInteractionPoint(const Photon *p, double DZ) const {
52    EVector dir=p->dir.Unit();
53    EVector newPoint=p->pos+dir*(DZ/dir[Z]);
54#ifdef DEBUG
55#endif /* DEBUG */
56    return newPoint;
57}
58
59#endif /* TRANSPORTMANAGER_HH */
Note: See TracBrowser for help on using the repository browser.