Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.contactcenters.msk.stat
Class CallByCallMeasureManager

    java.lang.Object
      umontreal.iro.lecuyer.contactcenters.msk.stat.CallByCallMeasureManager

All Implemented Interfaces:
  ExitedContactListener

    public class CallByCallMeasureManager

extends Object
implements ExitedContactListener

Contains and updates call-by-call measures for a call center model. This includes the number of arrivals, the number of services, etc. Any object of this class encapsulates matrices of sums for each type of call-by-call measure. It is also an exited-contact listener which can be notified each time a call leaves the system, for statistical collecting.

Constructor Summary
`CallByCallMeasureManager(CallCenter cc, StatPeriod statP, boolean contactTypeAgentGroups)` Constructs an observer for all supported types of call-by-call measures, for the call center model `cc`, and using `statP` to obtain the statistical period of each counted call.
`CallByCallMeasureManager(CallCenter cc, StatPeriod statP, boolean contactTypeAgentGroups, Collection<MeasureType> measures)` Similar to constructor `StatPeriod, boolean)`, but restricts the counters to the given collection of measure types.

Method Summary
`void` | `blocked(Router router, Contact contact, int bType)` This method is called when the contact `contact` is blocked in the router `router`.
`void` | `dequeued(Router router, DequeueEvent ev)` This method is called when a contact leaves a waiting queue linked to the router `router`, without being served.
`StatPeriod` | `getStatPeriod()` Returns the simulation logic associated with this object.
`boolean` | `hasMeasures()`
`void` | `init()` Initializes every measure matrices defined by this object.
`void` | `initMeasureMap(Map<MeasureType,MeasureMatrix> measureMap)` Initializes the given map `measureMap` with the measure matrices declared by this class.
`boolean` | `isContactTypeAgentGroup()` Returns `true` if this group of call center measures contains matrices whose rows correspond to counters concerning (contact type, agent group) pairs.
`void` | `newAbandoned(Contact contact, int period)`
`void` | `newArrival(Contact contact, int period)`
`void` | `newBlocked(Contact contact, int period)`
`void` | `newDelayed(Contact contact, int period)`
`void` | `newServed(Contact contact, int period)`
`void` | `newServiceTime(Contact contact, int period, double time)`
`void` | `newWaitingTimeAbandoned(Contact contact, int period, double t)`
`void` | `newWaitingTimeServed(Contact contact, int period, double t)`
`void` | `newWaitingTimeVQAbandoned(Contact contact, int period, double t)`
`void` | `newWaitingTimeVQServed(Contact contact, int period, double t)`
`void` | `newWrong(Contact contact, int period)`
`void` | `served(Router router, EndServiceEvent ev)` This method is called when a contact was served by an agent.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CallByCallMeasureManager

    public CallByCallMeasureManager(CallCenter cc,
                                    StatPeriod statP,
                                    boolean contactTypeAgentGroups)

  Constructs an observer for all supported types of call-by-call measures, for the call center model `cc`, and using `statP` to obtain the statistical period of each counted call.

  Many counters concerning a call type can be separated into I counters, one for each agent group. This can be useful to obtain statistics concerning specific (call type, agent group) pairs, but this requires more memory. The boolean argument `contactTypeAgentGroups` determines if this separation is needed. If (call type, agent group) statistics are needed, this argument is `true`. Otherwise, it is `false`.

  Parameters:
    `cc` - the call center model.
    `statP` - the object used to get statistical periods of calls.
    `contactTypeAgentGroups` - determines if statistics for (call type, agent group) pairs are needed.

### CallByCallMeasureManager

    public CallByCallMeasureManager(CallCenter cc,
                                    StatPeriod statP,
                                    boolean contactTypeAgentGroups,
                                    Collection<MeasureType> measures)

  Similar to constructor `StatPeriod, boolean)`, but restricts the counters to the given collection of measure types.

Method Detail

### getStatPeriod

    public StatPeriod getStatPeriod()

  Returns the simulation logic associated with this object.

  Returns:
    the associated simulation logic.

### isContactTypeAgentGroup

    public boolean isContactTypeAgentGroup()

  Returns `true` if this group of call center measures contains matrices whose rows correspond to counters concerning (contact type, agent group) pairs. If no matrix with rows of type (contact type, agent group) is present, this returns `false`.

### initMeasureMap

    public void initMeasureMap(Map<MeasureType,MeasureMatrix> measureMap)

  Initializes the given map `measureMap` with the measure matrices declared by this class. Each key of the map must be an instance of `MeasureType` while values are instances of `MeasureMatrix`.

  Parameters:
    `measureMap` - the map to be initialized.

### hasMeasures

    public boolean hasMeasures()

### init

    public void init()

  Initializes every measure matrices defined by this object.

### newArrival

    public void newArrival(Contact contact,
                           int period)

### newWrong

    public void newWrong(Contact contact,
                         int period)

### newServiceTime

    public void newServiceTime(Contact contact,
                               int period,
                               double time)

### newBlocked

    public void newBlocked(Contact contact,
                           int period)

### newDelayed

    public void newDelayed(Contact contact,
                           int period)

### newWaitingTimeAbandoned

    public void newWaitingTimeAbandoned(Contact contact,
                                        int period,
                                        double t)

### newWaitingTimeServed

    public void newWaitingTimeServed(Contact contact,
                                     int period,
                                     double t)

### newWaitingTimeVQAbandoned

    public void newWaitingTimeVQAbandoned(Contact contact,
                                          int period,
                                          double t)

### newWaitingTimeVQServed

    public void newWaitingTimeVQServed(Contact contact,
                                       int period,
                                       double t)

### newAbandoned

    public void newAbandoned(Contact contact,
                             int period)

### newServed

    public void newServed(Contact contact,
                          int period)

### blocked

    public void blocked(Router router,
                        Contact contact,
                        int bType)

  Description copied from interface: `ExitedContactListener`
  This method is called when the contact `contact` is blocked in the router `router`. The integer `bType` is used to indicate the reason of the blocking, e.g., the contact could not be served or put into any waiting queue.

  Specified by:
    `blocked` in interface `ExitedContactListener`
  Parameters:
    `router` - the router causing the blocking.
    `contact` - the blocked contact.
    `bType` - an indicator giving the reason why the contact is blocked.

### dequeued

    public void dequeued(Router router,
                         DequeueEvent ev)

  Description copied from interface: `ExitedContactListener`
  This method is called when a contact leaves a waiting queue linked to the router `router`, without being served.

  Specified by:
    `dequeued` in interface `ExitedContactListener`
  Parameters:
    `router` - the router causing the dequeueing.
    `ev` - the dequeue event.

### served

    public void served(Router router,
                       EndServiceEvent ev)

  Description copied from interface: `ExitedContactListener`
  This method is called when a contact was served by an agent. This method is called by the router before the after-contact work begins so `ev` does not contain the information about after-contact time.

  Specified by:
    `served` in interface `ExitedContactListener`
  Parameters:
    `router` - the router managing the contact.
    `ev` - the end service event.

Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Richard Simard.