Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:22

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDEVE_PROJECTION_H
0014 #define DDEVE_PROJECTION_H
0015 
0016 // Framework include files
0017 #include "DDEve/View.h"
0018 
0019 // Eve include files
0020 #include <TEveProjectionManager.h>
0021 #include <TEveProjectionAxes.h>
0022 
0023 /// Namespace for the AIDA detector description toolkit
0024 namespace dd4hep {
0025 
0026   /// class Projection  Projection.h DDEve/Projection.h
0027   /*
0028    *  \author  M.Frank
0029    *  \version 1.0
0030    *  \ingroup DD4HEP_EVE
0031    */
0032   class Projection : public View  {
0033   protected:
0034     /// Reference to the projection manager
0035     TEveProjectionManager *m_projMgr;
0036     /// Reference to the projection axis
0037     TEveProjectionAxes* m_axis;
0038 
0039     /// Call an element to a event element list
0040     virtual TEveElement* ImportElement(TEveElement* el, TEveElementList* list);
0041     /// Call an element to a geometry element list
0042     virtual TEveElement* ImportGeoElement(TEveElement* element, TEveElementList* list)  override;
0043     /// Call an element to a geometry element list
0044     virtual TEveElement* ImportGeoTopic(TEveElement* element, TEveElementList* list) override;
0045     /// Call an element to a event element list
0046     virtual TEveElement* ImportEventElement(TEveElement* element, TEveElementList* list)  override;
0047 
0048 
0049   public:
0050     /// Initializing constructor
0051     Projection(Display* eve, const std::string& name);
0052     /// Default destructor
0053     virtual ~Projection();
0054     /// Map the projection view to the slot
0055     virtual View& Map(TEveWindow* slot)  override;
0056     /// Add projection axis to the view
0057     virtual Projection& AddAxis();
0058     /// Create Rho-Phi projection 
0059     virtual Projection& CreateRhoPhiProjection();
0060     /// Create Rho-Z projection
0061     virtual Projection& CreateRhoZProjection();
0062 
0063     virtual void SetDepth(Float_t d);
0064 
0065     ClassDefOverride(Projection,0);
0066   };
0067 }      /* End namespace dd4hep      */
0068 #endif // DDEVE_PROJECTION_H