CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

Types::EventRange Class Reference

List of all members.

Public Member Functions

def __init__
def cppID
def end
def endLumi
def endSub
def insertInto
def pythonValue
def start
def startLumi
def startSub

Private Member Functions

def _isValid
def _valueFromString

Private Attributes

 __end
 __endLumi
 __endSub
 __start
 __startLumi
 __startSub

Detailed Description

Definition at line 299 of file Types.py.


Constructor & Destructor Documentation

def Types::EventRange::__init__ (   self,
  start,
  args 
)

Definition at line 300 of file Types.py.

00301                                     :
00302         super(EventRange,self).__init__()
00303         if isinstance(start, basestring):
00304             self.__start     = self._valueFromString(start).__start
00305             self.__startLumi = self._valueFromString(start).__startLumi
00306             self.__startSub  = self._valueFromString(start).__startSub
00307             self.__end       = self._valueFromString(start).__end
00308             self.__endLumi   = self._valueFromString(start).__endLumi
00309             self.__endSub    = self._valueFromString(start).__endSub
00310         else:
00311             self.__start     = start
00312             if len(args) == 3:
00313                 self.__startLumi = 0
00314                 self.__startSub  = args[0]
00315                 self.__end       = args[1]
00316                 self.__endLumi   = 0
00317                 self.__endSub    = args[2]
00318             elif len(args) == 5:
00319                 self.__startLumi = args[0]
00320                 self.__startSub  = args[1]
00321                 self.__end       = args[2]
00322                 self.__endLumi   = args[3]
00323                 self.__endSub    = args[4]
00324             else:
00325                 raise RuntimeError('EventRange ctor must have 4 or 6 arguments')
00326         if self.__end < self.__start or (self.__end == self.__start and self.__endLumi < self.__startLumi):
00327             raise RuntimeError('EventRange '+str(self.__start)+':'+str(self.__startLumi)+':'+str(self.__startSub)+'-'+str(self.__end)+':'+str(self.__endLumi)+':'+str(self.__endSub)+' out of order')
00328         # 0 event number is a special case that means no limit
00329         if self.__end == self.__start and self.__endLumi == self.__startLumi and (self.__endSub <> 0 and self.__endSub < self.__startSub):
            raise RuntimeError('EventRange '+str(self.__start)+':'+str(self.__startLumi)+':'+str(self.__startSub)+'-'+str(self.__end)+':'+str(self.__endLumi)+':'+str(self.__endSub)+' out of order')

Member Function Documentation

def Types::EventRange::_isValid (   value) [private]

Definition at line 343 of file Types.py.

00344                        :
        return True
def Types::EventRange::_valueFromString (   value) [private]
only used for cfg-parsing

Definition at line 346 of file Types.py.

00347                                :
00348         """only used for cfg-parsing"""
00349         value = value.replace(' ','')
00350         parts = value.split("-")
00351         startParts = parts[0].split(":")
00352         try:
00353             endParts = parts[1].split(":")
00354         except IndexError:
00355             endParts = parts[0].split(":") # If just "1:2" turn into "1:2-1:2"
00356 
00357         brun = startParts[0]
00358         erun = endParts[0]
00359         s = len(startParts)
00360         e = len(endParts)
00361         if s != e or s < 2 or s > 3:
00362             raise RuntimeError('EventRange ctor must have 4 or 6 arguments')
00363         i = s - 1
00364         if startParts[i].lower() == "0":
00365             startParts[i] = "1"
00366         elif startParts[i].lower() == "max":
00367             startParts[i] = "0"
00368         elif startParts[i].lower() == "min":
00369             startParts[i] = "1"
00370         if endParts[i].lower() == "max":
00371             endParts[i] = "0"
00372         elif endParts[i].lower() == "min":
00373             endParts[i] = "1"
00374         if s == 3:
00375             blumi = startParts[1]
00376             elumi = endParts[1]
00377             bevent = startParts[2]
00378             eevent = endParts[2]
00379         elif s == 2:
00380             blumi = 0
00381             elumi = 0
00382             bevent = startParts[1]
00383             eevent = endParts[1]             
00384         else:
00385             raise RuntimeError('EventRange ctor must have 4 or 6 arguments')
00386         return EventRange(int(brun), int(blumi), int(bevent),
00387                           int(erun), int(elumi), int(eevent))

def Types::EventRange::cppID (   self,
  parameterSet 
)

Definition at line 391 of file Types.py.

00392                                  :
        return parameterSet.newEventRange(self.start(), self.startLumi(), self.startSub(), self.end(), self.endLumi(), self.endSub())
def Types::EventRange::end (   self)

Definition at line 336 of file Types.py.

00337                  :
        return self.__end
def Types::EventRange::endLumi (   self)

Definition at line 338 of file Types.py.

00339                      :
        return self.__endLumi
def Types::EventRange::endSub (   self)

Definition at line 340 of file Types.py.

00341                     :
        return self.__endSub
def Types::EventRange::insertInto (   self,
  parameterSet,
  myname 
)

Definition at line 393 of file Types.py.

00394                                               :
00395         parameterSet.addEventRange(self.isTracked(), myname, self.cppID(parameterSet))

def Types::EventRange::pythonValue (   self,
  options = PrintOptions() 
)

Definition at line 388 of file Types.py.

00389                                                  :
00390         return str(self.__start) + ', ' + str(self.__startLumi) + ', ' + str(self.__startSub) + ', ' \
               + str(self.__end)  + ', ' + str(self.__endLumi) + ', ' + str(self.__endSub)
def Types::EventRange::start (   self)

Definition at line 330 of file Types.py.

00331                    :
        return self.__start
def Types::EventRange::startLumi (   self)

Definition at line 332 of file Types.py.

00333                        :
        return self.__startLumi
def Types::EventRange::startSub (   self)

Definition at line 334 of file Types.py.

00335                       :
        return self.__startSub

Member Data Documentation

Definition at line 300 of file Types.py.

Definition at line 300 of file Types.py.

Definition at line 300 of file Types.py.

Definition at line 300 of file Types.py.

Definition at line 300 of file Types.py.

Definition at line 300 of file Types.py.