fmssim
Detector.h
Go to the documentation of this file.
00001 #ifndef _FMS_GEOMETRY_DETECTOR_H_
00002 #define _FMS_GEOMETRY_DETECTOR_H_
00003 
00004 //
00005 // Detector.h
00006 //
00007 // Created by TB on 9/16/11.
00008 // Copyright 2011 BNL. All rights reserved.
00009 //
00010 
00011 #include <TObject.h>
00012 
00013 class TVector3;
00014 
00015 namespace fms {
00016    
00017    namespace geometry {
00018       
00019       class Cell;
00020       
00024       class Detector : public TObject {
00025          
00026       public:
00027          
00034 //         enum EDirection { EAST, WEST, NORTH, SOUTH, TOP, BOTTOM };
00035          
00040          virtual Cell* Find(const TVector3&) const = 0;
00041 #if 0
00042          // To implement:
00043          // Search by cell channel/unique ID
00044          virtual Cell* FindChannel(UInt_t) const = 0;
00045          // Search by cell pythiaParticle
00046          virtual Cell* Intersects(const pythiaParticle&) = 0;
00047          
00051          virtual Cell* Find(Predicate&) const = 0;
00052          
00053 #endif
00054          
00055          
00059          virtual UInt_t Size() const = 0;
00060          
00061          ClassDef(fms::geometry::Detector, 1)
00062       };
00063       
00064    } // namespace geometry
00065    
00066 } // namespace fms
00067 
00068 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines