fmssim
Year2011BoardSum.h
Go to the documentation of this file.
00001 #ifndef _FMS_TRIGGER_YEAR2011BOARDSUM_H_
00002 #define _FMS_TRIGGER_YEAR2011BOARDSUM_H_
00003 
00004 //
00005 // Year2011BoardSum.h
00006 //
00007 // Created by TB on 9/16/11.
00008 // Copyright 2011 BNL. All rights reserved.
00009 //
00010 
00011 #include <list>
00012 
00013 #include "DetectorLarge2011.h"
00014 #include "DetectorSmall2011.h"
00015 #include "Map.h"
00016 #include "Region.h"
00017 
00018 namespace fms {
00019    
00020    namespace trigger {
00021       
00032       class QtBoard2011 : public Region {
00033          
00034       public:
00035          
00036          // Quadrants are
00037          // NORTH_TOP, NORTH_BOTTOM, SOUTH_TOP, SOUTH_BOTTOM
00038          // See fms::geometry::Quadrant.
00039          // Board IDs are A to J inclusive.
00040          // A-D cover the small-cell of that quadrant, E-J the large cells.
00041          // Consider using enum type in arguments...
00042          QtBoard2011(Int_t quadrant, Int_t boardId);
00043          
00048          virtual Bool_t Contains(const TVector3&) const;
00049          
00053          virtual Double_t GetThreshold() const { return 0.; }
00054          
00055          virtual void SetThreshold(Double_t) { }
00056          
00057          /*
00058           virtual Bool_t IsOverThreshold() const = 0;
00059           */
00060          
00066          virtual void SetId(Int_t);
00067          
00068          virtual Int_t GetId() const;
00069          
00070       protected:
00071          
00072          friend class Year2011BoardSum;
00073          
00074          static fms::geometry::Detector2011 smDetector;
00075          
00076          Int_t mQuadrant;
00077          Int_t mBoard;
00078          mutable Int_t mId;
00079          
00080          ClassDef(fms::trigger::QtBoard2011, 1)
00081       };
00082       
00083       inline void QtBoard2011::SetId(Int_t i) { mId = i; }
00084       
00085       inline Int_t QtBoard2011::GetId() const { return mId; }
00086       
00087       
00097       class Year2011BoardSum : public Map {
00098          
00099       public:
00100          
00101          Year2011BoardSum();
00102          
00103          virtual ~Year2011BoardSum();
00104          
00108          virtual Region* Find(const TVector3&) const;
00109          
00113          virtual UInt_t Size() const;
00114          
00121          virtual Bool_t Add(Int_t, Region*);
00122          
00123          virtual void Draw(Option_t* = "");
00124          
00125          std::list<Region*> mRegions;
00126          
00127          ClassDef(fms::trigger::Year2011BoardSum, 1)
00128       };
00129       
00130       inline UInt_t Year2011BoardSum::Size() const { return mRegions.size(); }
00131 
00132    } // namespace trigger
00133    
00134 } // namespace fms   
00135 
00136 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines