fmssim
|
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