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)
