DetectorPhotonTransporter
#include "DetectorPhotonTransporter.hh" |
DetectorPhotonTransporter
class description - source file - inheritance tree (.pdf)
class DetectorPhotonTransporter : public EsafConfigurable, public EsafMsgSource
This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.
protected:
Double_t CylinderIntersection(const TVector3& pos, const TVector3& dir, Double_t radius, Double_t zup, Double_t zdown, Bool_t zero = kFALSE) const Double_t CylinderIntersection(const Photon* p, Double_t radius, Double_t zup, Double_t zdown, Bool_t zero = kFALSE) const public:
virtual ~DetectorPhotonTransporter() virtual Double_t Bottom() const static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const virtual Double_t CylinderIntersection(const TVector3& pos, const TVector3& dir, Bool_t zero = kFALSE) const virtual Double_t CylinderIntersection(const Photon* p, Bool_t zero = kFALSE) const virtual Double_t DZdown() const virtual Double_t DZup() const virtual TClass* IsA() const virtual Bool_t IsInside(Photon*) const virtual const TVector3& Position() const virtual Double_t Radius() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Double_t Top() const virtual Photon* Transport(Photon*) const
Data Members
protected:
EVector fPos origin of the local coordinates Double_t fDZdown Double_t fDZup Double_t fR radius of the cylinder
Class Description
DetectorPhotonTransporter ========================= Abstarct base class providing the interface of a generic photon transporter. Every element in the detector that is able to interact with photons is a DetectorPhotonTransporter. The DetectorPhotonTransporters are represented as cylinders with position and height (fDZdown+fDZup).
Bool_t IsInside( Photon *p ) const
True if the photon is inside the boundaries of the transporter
Double_t CylinderIntersection( const TVector3 &pos, const TVector3 &dir, Bool_t zero) const
Calculate the next intersection of p with this transporter boundaries
Double_t CylinderIntersection( const Photon *p, Bool_t zero) const
Calculate the next intersection of p with this transporter boundaries
Double_t CylinderIntersection( const Photon *p, Double_t radius, Double_t zup, Double_t zdown, Bool_t zero ) const
Finds, if exists, the next interaction of p over cyl. In any case saves the distances between p->pos and the two int points in fLastCylInt
Double_t CylinderIntersection( const TVector3 &pos, const TVector3 &dir, Double_t radius, Double_t zup, Double_t zdown, Bool_t zero ) const
Finds, if exists, the next interaction of p over cyl. In any case saves the distances between p->pos and the two int points in fLastCylInt
Inline Functions
void ~DetectorPhotonTransporter() Photon* Transport(Photon*) const Double_t Radius() const Double_t DZdown() const Double_t DZup() const const TVector3& Position() const Double_t Bottom() const Double_t Top() 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)