TEvePathMark.h

Go to the documentation of this file.
00001 // @(#)root/eve:$Id: TEvePathMark.h 32933 2010-04-09 17:28:46Z matevz $
00002 // Author: Matevz Tadel 2010
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TEvePathMark
00013 #define ROOT_TEvePathMark
00014 
00015 #include <TEveVector.h>
00016 
00017 //==============================================================================
00018 // TEvePathMark
00019 //==============================================================================
00020 
00021 template <typename TT>
00022 class TEvePathMarkT
00023 {
00024 public:
00025    enum EType_e { kReference, kDaughter, kDecay, kCluster2D };
00026 
00027    EType_e         fType; // Mark-type.
00028    TEveVectorT<TT> fV;    // Vertex.
00029    TEveVectorT<TT> fP;    // Momentum.
00030    TEveVectorT<TT> fE;    // Extra, meaning depends on fType.
00031    TT              fTime; // Time.
00032 
00033    TEvePathMarkT(EType_e type=kReference) :
00034       fType(type), fV(), fP(), fE(), fTime(0) {}
00035 
00036    TEvePathMarkT(EType_e type, const TEveVectorT<TT>& v, TT time=0) :
00037       fType(type), fV(v), fP(), fE(), fTime(time) {}
00038 
00039    TEvePathMarkT(EType_e type, const TEveVectorT<TT>& v, const TEveVectorT<TT>& p, TT time=0) :
00040       fType(type), fV(v), fP(p), fE(), fTime(time) {}
00041 
00042    TEvePathMarkT(EType_e type, const TEveVectorT<TT>& v, const TEveVectorT<TT>& p, const TEveVectorT<TT>& e, TT time=0) :
00043       fType(type), fV(v), fP(p), fE(e), fTime(time) {}
00044 
00045    const char* TypeName();
00046 
00047    ClassDefNV(TEvePathMarkT, 1); // Template for a special point on a track: position/momentum reference, daughter creation or decay.
00048 };
00049 
00050 typedef TEvePathMarkT<Float_t>  TEvePathMark;
00051 typedef TEvePathMarkT<Float_t>  TEvePathMarkF;
00052 typedef TEvePathMarkT<Double_t> TEvePathMarkD;
00053 
00054 #endif

Generated on Tue Jul 5 14:14:58 2011 for ROOT_528-00b_version by  doxygen 1.5.1