Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:14:18

0001 #ifndef GEOMETRY_CALOTOPOLOGY_HCALTOPOLOGYRESTRICTIONPARSER_H
0002 #define GEOMETRY_CALOTOPOLOGY_HCALTOPOLOGYRESTRICTIONPARSER_H 1
0003 
0004 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0005 
0006 /** \class HcalTopologyRestrictionParser
0007   *  
0008   *  This utility class is intended to provide a standard way to set restrictions on the 
0009   *  HcalTopology to exclude cells for testbeam and other purposes.  It functions as a 
0010   *  parser to convert textually-encoded restrictions into calls to HcalTopology::exclude().
0011   *
0012   *  The grammer is (using a rough notation)
0013   *
0014   *  line = rule >> *(; >> rule )
0015   *  rule = region | subdetector
0016   *  region = subdetname ieta1 ieta2 iphi1 iphi2 [depth1 depth2]
0017   *  subdetector = subdetname
0018   *  subdetname = "HB" | "HE" | "HO" | "HF"
0019   * \author J. Mans - Minnesota
0020   */
0021 class HcalTopologyRestrictionParser {
0022 public:
0023   HcalTopologyRestrictionParser(HcalTopology& target);
0024   /** Parses a line of restrictions and returns an error string if there is a problem.
0025       The line must be formated as described in the class description.
0026   */
0027   std::string parse(const std::string& line);
0028 
0029 private:
0030   HcalTopology& target_;
0031 };
0032 
0033 #endif