public L2Event(IPhysicalProcessor referrer, INode sender, IEvent eve,
     double time, double duration, double receivePower, bool hasClosure)
 {
     this.PhysicalProcessor = referrer;
     this.Sender = sender;
     this.EncapsulatedEvent = eve;
     this.time = time;
     this.duration = duration;
     this.BaseReceivePower = receivePower;
     this.HasClosure = hasClosure;
 }
 public void Initialize(IEventManager eventMgr, IPhysicalProcessor physProc, 
     IRandomizerFactory randomizerFactory, IReportObserver reporter)
 {
     this.eventMgr = eventMgr;
     this.physProc = physProc;
     this.randomizerFactory = randomizerFactory;
     this.reporter = reporter;
     isInitialized = true;
 }
 public FloodingQueryNodeFactory(IEventManager eventMgr, IPhysicalProcessor physProc, 
     IRandomizerFactory randomizerFactory, IReportObserver reporter)
 {
     Initialize(eventMgr, physProc, randomizerFactory, reporter);
 }
        IRandomizer randomizer; // Random Variable

        #endregion Fields

        #region Constructors

        public FloodingQueryNode(IEventManager eventMgr, IPhysicalProcessor physProc)
        {
            // CONSTRUCTOR
            this.nextHop = int.MaxValue;        // Set the nextHop node ID and
            this.distance = int.MaxValue;       // distance to sink equal to an invalid number (int.MaxValue)
            this.EventMgr = eventMgr;
            this.PhysProc = physProc;
        }
        /*       / \
         *     // | \\
         *    /   |   \
         *        |           */
        public PEQNode(IEventManager EventManager,
            IPhysicalProcessor PhysicalProcessor,
            SearchAggregator aggregator)
        {
            this._eventManager = EventManager;
            this._physicalProcessor = PhysicalProcessor;

            // Any required PEQNode Initialization added here
            _searchAggregator = aggregator;
        }
        /*       / \
         *     // | \\
         *    /   |   \
         *        |           */
        public void Initialize(IEventManager eventMgr, IPhysicalProcessor physProc,
            IRandomizerFactory randomizerFactory, IReportObserver reporter)
        {
            _eventManager = eventMgr;
            _physicalProcessor = physProc;
            _randomizerFactory = randomizerFactory;
            _reporter = reporter;
            _isInitialized = true;

            panelObjsHelper = new PanelObjHelper(panelObjs);
            _NUM_ID_BYTES = panelObjsHelper.GetIntByName("NUM_ID_BYTES");
            _RANDOM_WAIT = panelObjsHelper.GetDoubleByName("RANDOM_WAIT");
            _TIMER_ACK = panelObjsHelper.GetDoubleByName("TIMER_ACK");
            _TIMER_BUILDTREE = panelObjsHelper.GetDoubleByName("TIMER_BUILDTREE");
            _TIMER_HELLO = panelObjsHelper.GetDoubleByName("TIMER_HELLO");
            _TIMER_SEARCH = panelObjsHelper.GetDoubleByName("TIMER_SEARCH");
            _TIMER_SUBSCRIBE = panelObjsHelper.GetDoubleByName("TIMER_SUBSCRIBE");
            _HELLO_SUPPRESS_REPORT = panelObjsHelper.GetBoolByName("CHECK_HELLOSUPPRESS");
            _EXPLICIT_COLLISIONS = panelObjsHelper.GetBoolByName("CHECK_EXPLICIT_COLLISIONS");
            //_INFO_REPORTS = panelObjsHelper.GetBoolByName("INFO_REPORTS");
            _NODE_REPORTS = panelObjsHelper.GetBoolByName("NODE_REPORTS");
            _SINK_REPORTS = panelObjsHelper.GetBoolByName("SINK_REPORTS");
        }