CalSectionReject.h

Go to the documentation of this file.
00001 //=================================================
00002 //
00003 //
00004 // Selector function object used by CalSection to
00005 // make acceptance cuts on particles.
00006 //
00007 // Author: Peter Sherwood
00008 //
00009 //
00010 //===================================================
00011 #ifndef ATLFAST_CALSECTIONREJECT_H
00012 #define ATLFAST_CALSECTIONREJECT_H
00013 
00014 class MsgStream;
00015 class ostream;
00016 
00017 namespace FastShower{
00018   class GridletElement;
00019   class Gridlet;
00020 }
00021 namespace Atlfast{
00022   
00023   class CalSectionReject;
00024   MsgStream& operator <<( MsgStream&, const CalSectionReject&);
00025   MsgStream& operator <<( MsgStream&, const CalSectionReject* const);
00026   ostream& operator   <<(   ostream&, const CalSectionReject&);
00027   ostream& operator   <<(   ostream&, const CalSectionReject* const);
00028 
00029 
00030   class ITransportedParticle;
00031   class EPileupDeposit;
00032 
00033   using FastShower::GridletElement;
00034   using FastShower::Gridlet;
00035 
00036 
00037   /* @brief Rejects particle if outside eta,phi bounds.
00038    *
00039    * Selector function object used by Atlfast::CalSection. 
00040    * Particle is rejected if eta, phi is less than or equal to 
00041    * minimum eta, phi values or greater than maximum values.
00042    */
00043   
00044   class CalSectionReject {
00045   public:
00047     CalSectionReject(double etaMin, double etaMax,
00048                      double phiMin, double phiMax);
00049     
00051     CalSectionReject(const CalSectionReject& other);
00052 
00054     bool operator()(const ITransportedParticle* p);
00056     bool operator()(const EPileupDeposit* p);
00058     bool operator()(const GridletElement* p);
00060     bool operator()(const Gridlet* p);
00061 
00063     MsgStream&    writeout(   MsgStream& stream) const;
00064 
00065   private:
00066     double m_etaMin; //Eta bounds for calsection
00067     double m_etaMax;
00068     double m_phiMin;  //Phi bounds for calsection
00069     double m_phiMax;
00070   };
00071 }
00072 #endif
00073 
00074 
00075 
00076 
00077 
00078 
00079 

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1