Status of Moore Makers Scheme Michela Biglietti Università di Napoli Federico II INFN - Napoli.

Slides:



Advertisements
Similar presentations
Object Oriented Programming
Advertisements

Object Oriented Programming with Java
Object-Oriented programming in C++ Classes as units of encapsulation Information Hiding Inheritance polymorphism and dynamic dispatching Storage management.
Contents o Introduction o Characteristics of Constructor. o Types of constructor. - Default Constructor - Parameterized Constructor - Copy Constructor.
INTERFACES IN JAVA 1.Java Does not support Multiple Inheritance directly. Multiple inheritance can be achieved in java by the use of interfaces. 2.We need.
Derived Classes. C++ 2 Outline  Definition  Virtual functions  Virtual base classes  Abstract classes. Pure virtual functions.
ITF11006.NET Inheritance. Classes and Inheritance Constructors and Inheritance Modifiers Interfaces Operators.
Objectives Introduction to Inheritance and Composition (Subclasses and SuperClasses) Overriding (and extending), and inheriting methods and constructors.
C++ Review. User Defined Types Built-in data types are simple. Specific problems may demand aggregate/more complex data types. – Ex: polygons, matrices,
Object Oriented Programming A brief review of what you should know about OOP.
1 The Design of Class Mechanism for MOBY. 2 Earlier Software designers have to choose between the following schemes for the development Earlier Software.
Slides prepared by Rose Williams, Binghamton University Chapter 13 Interfaces and Inner Classes.
1 Chapter 6 Inheritance, Interfaces, and Abstract Classes.
Abstract Classes An abstract class is a base class that will never have an object instantiated from it. –Abstract classes are used only for inheritance,
 2008 Pearson Education, Inc. All rights reserved (Optional) Software Engineering Case Study: Incorporating Inheritance into the ATM System UML.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Taken from slides of Starting Out with C++ Early Objects Seventh Edition.
Inheritance and Class Hierarchies Ellen Walker CPSC 201 Data Structures Hiram College.
C++ Review Classes and Object Oriented Programming Parasol Lab, Texas A&M University.
Algorithm Programming Bar-Ilan University תשס"ח by Moshe Fresko.
2000 Jordan Anastasiade. All rights reserved. 1 Class In this lesson you will be learning about: Class. Inheritance. Polymorphism. Nested and.
CS212: Object Oriented Analysis and Design Lecture 15: Inheritance in C++ -II.
Inheritance in the Java programming language J. W. Rider.
1 Gabriella Cataldi (INFN Lecce) Michela Biglietti (Universita’ di Napoli-Federico II) and the HLT.
1 Michela Biglietti (Universita’ di Napoli-Federico II) Gabriella Cataldi (INFN Lecce) and the HLT.
1 Muon Reconstruction in the ATLAS experiment Michela Biglietti Dottorato in Fisica Fondamentale e Applicata, XVI ciclo Università di Napoli “Federico.
Object-Oriented Programming  Object-oriented programming views a program as collection of agents, termed objects. Each object is responsible for specific.
Session 04 Module 8: Abstract classes and Interface Module 9: Properties and Indexers.
Module 10: Inheritance in C#. Overview Deriving Classes Implementing Methods Using Sealed Classes Using Interfaces Using Abstract Classes.
1 Moore Packages, Repackaging and Design Status Michela Biglietti Univ. of Naples INFN/Naples Gabriella Cataldi INFN/Lecce.
Inheritance. Inheritance - Introduction Idea behind is to create new classes that are built on existing classes – you reuse the methods and fields and.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Programming With Java ICS201 University Of Ha’il1 Chapter 7 Inheritance.
Lecture 21 - Abstract Classes and Interface. Example Figure –Rectangle –Triangle Figure –Dimensions –Area.
Coming up: Inheritance
Access Modifiers Control which classes use a feature Only class-level variables may be controlled by access modifiers Modifiers 1. public 2. protected.
Classes, Interfaces and Packages
1 OO Muon Reconstruction in ATLAS Michela Biglietti Univ. of Naples INFN/Naples Atlas offline software MuonSpectrometer reconstruction (Moore) Atlas combined.
OBJECT ORIENTED PROGRAMMING. Design principles for organizing code into user-defined types Principles include: Encapsulation Inheritance Polymorphism.
Trigger LVL1/LVL2 Makers. CERN, december 2001 Gabriella Cataldi-INFN Lecce Trigger (Level 2) Makers: MooiPatTrackSegmentMaker MooiPatTrackMaker MooTrigClusters.
Terms and Rules II Professor Evan Korth New York University (All rights reserved)
POLYMORPHISM Chapter 6. Chapter Polymorphism  Polymorphism concept  Abstract classes and methods  Method overriding  Concrete sub classes and.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 20 - Virtual Functions Outline 20.1Introduction 20.2Type Fields and switch Statements 20.3Virtual.
CSC 243 – Java Programming, Spring, 2014 Week 4, Interfaces, Derived Classes, and Abstract Classes.
1 C++ Classes & Object Oriented Programming Overview & Terminology.
Slides prepared by Rose Williams, Binghamton University ICS201 Lecture 7 : Interfaces King Fahd University of Petroleum & Minerals College of Computer.
Abstract methods and classes. Abstract method A placeholder for a method that will be fully defined in a subclass.
CSC 243 – Java Programming, Fall, 2008 Tuesday, September 30, end of week 5, Interfaces, Derived Classes, and Abstract Classes.
Geoff Holmes and Bernhard Pfahringer COMP206-08S General Programming 2.
Classes and Inheritance
© 2017 Pearson Education, Hoboken, NJ. All rights reserved
Inheritance and Polymorphism
Object-Oriented Programming
Inheritance II CMSC 202.
OO Muon Reconstruction in ATLAS
Packages, Interfaces & Exception Handling
Templates.
C++ Classes C++ Interlude 1.
EE 422C Java Reflection re·flec·tion rəˈflekSH(ə)n/ noun
Object Oriented Analysis and Design
null, true, and false are also reserved.
Overloading the << operator
Java Programming Language
Java Inheritance.
Anatomy of Inheritance
integration in HLT-status and prospects
Adapter Design Pattern
Eighth step for Learning C++ Programming
Agenda Types and identifiers Practice Assignment Keywords in Java
Moore LVL2 interface and Moore status
CMSC 202 Lesson 17 Inheritance II.
Presentation transcript:

Status of Moore Makers Scheme Michela Biglietti Università di Napoli Federico II INFN - Napoli

Moore steps MooMakePhiSegments MooMakeCrudeRZSegments MooMakeFineRZSegments MooMakeiPatTracks MooMakeFineRZSegments MooMakeCrudeRZSegments RPC_Digits MDT_Digits PhiSegments CrudeRZSegments FineRZSegments MooiPatTracks CrudeRZSegments FineRZSegments MooiPatFinalTracks StepOne StepTwo MooiPat Package MooStatistics Package MooMakeNtuple MooNtuple

MooEvents Basic Objects Transient Objects PhiSegment PhiSegments RZSegment MDTSegment MooiPatTrack CrudeRZSegments MDT_Detector MooiPatTracks FineRZSegments

MooiPat Algos StepOne – StepTwo modules are very similar The same task/interface Some differences in –I/O transient objects –value of external parameters –few implementations Use of inheritance

MooiPat Algos MooiPat abstract base classes

MooiPat Classes Base classes have –public: initialize() execute() finalize() –private: virtual my_execute() = 0 virtual retrieve()/record() = 0 –protected: virtual helper methods (implemented when are shared between the concrete classes ) members shared between concrete classes (StoreGateSvc* m_ SGevent, int m_print_level …) execute () { retrieve(); //implemented my_execute(); //in the deriv record(); // class }

MooiPat Classes In general concrete classes have (at least) –my_execute() –retrieve()/record() (eventually) –use of base classes methods/members –overloaded methods –own methods/members

Example - MooMakeFineRZSegments.h base class public: StatusCode initialize(); StatusCode execute(); // just a call to retrieve/make_fine_segments_execute()/record() StatusCode finalize(); private: virtual StatusCode retrieve() = 0;// implemented in the derived class virtual StatusCode make_fine_segments_execute() = 0; // possibility to use different I/O objects virtua StatusCode record() = 0;// access to the helper class int m_print_level// shared parameters but specialized for each … // derived class protected: StoreGateSvc* SGEvent; … virtual vector make_fine_segments(RZSegment,double); virtual pair drift_distance_and_error(double, MDT_Digit*);...

Example – MooMakeCrudeRZSegments.h base class

Example – MooMakeCrudeRZSegments.cxx base class

Example – MooMakeCrudeRZSegmentsStepOne.h concrete class

Example – MooMakeCrudeRZSegmentsStepOne.cxx concrete class