Changeset 120 for MEMPHYS


Ignore:
Timestamp:
Mar 28, 2006, 3:22:43 PM (18 years ago)
Author:
barrand
Message:

G.Barrand : migrate to Slash and Accessors

Location:
MEMPHYS/HEAD/applications
Files:
2 added
2 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • MEMPHYS/HEAD/applications/MEMPHYS_session.cxx

    r109 r120  
    1212#include <iostream>
    1313
     14// Slash :
     15#include <Slash/Core/IManager.h>
     16#include <Slash/Core/ISession.h>
     17#include <Slash/Data/IProcessor.h>
     18
    1419// Lib :
    15 #include <Lib/Interfaces/IManager.h>
    16 #include <Lib/Interfaces/ISession.h>
    17 #include <Lib/Interfaces/ITypeManager.h>
    1820#include <Lib/Manager.h>
    1921#include <Lib/System.h>
     
    2527#include <G4Lab/TrackingAction.h>
    2628#include <G4Lab/Interfaces/IGeant4Manager.h>
    27 //#include <G4Lab/DigitsCollectionType.h>
     29//#include <G4Lab/DigitsCollectionAccessor.h>
    2830
    2931//MEMPHYS:
     
    3941#include "MEMPHYS/SteppingAction.hh"
    4042#include "MEMPHYS/WCDigi.hh"
    41 #include <MEMPHYS/HitsCollectionType.h>
    42 #include <MEMPHYS/DigitsCollectionType.h>
     43#include <MEMPHYS/HitsCollectionAccessor.h>
     44#include <MEMPHYS/DigitsCollectionAccessor.h>
    4345
    4446// Create a manager to access the MEMPHYSAnalysis from the callbacks :
     
    4850
    4951class AppManager
    50   :public virtual IManager
     52  :public virtual Slash::Core::IManager
    5153  ,public Analysis  {
    52  public: //IManager
    53   virtual const std::string& name() const { return fName;}
    54   virtual void* cast(const std::string& aTo) const {
    55     if(aTo=="MEMPHYS::AppManager") {
    56       return Lib_SCast(MEMPHYS::AppManager);
    57     } else if(aTo=="MEMPHYS::IAppManager") {
    58       return Lib_SCast(MEMPHYS::IAppManager);
    59     } else if(aTo=="MEMPHYS::Analysis") {
    60       return Lib_SCast(MEMPHYS::Analysis);
    61     } else if(aTo=="IManager") {
    62       return Lib_SCast(IManager);
    63     } else {
    64       return 0;
    65     }
     54 public: //Slash::Core::IManager
     55  virtual std::string name() const { return fName;}
     56  virtual void* cast(const std::string& aClass) const {
     57    if_Lib_SCast(MEMPHYS::AppManager)
     58    else if_Lib_SCast(MEMPHYS::IAppManager)
     59    else if_Lib_SCast(MEMPHYS::Analysis)
     60    else if_Lib_SCast(Slash::Core::IManager)
     61    else return 0;
    6662  }
    6763 public://IAppManager
     
    8581    g4Manager->initialize();
    8682
    87     // Overload the HitsCollectionType of G4Lab :
    88     Lib::ITypeManager* typeManager =
    89       Lib_findManager(fSession,"TypeManager",Lib::ITypeManager);
    90     if(typeManager) {
     83    // Overload the HitsCollectionAccessor of G4Lab :
     84    Slash::Data::IProcessor* accessorManager =
     85      Lib_findManager(fSession,"AccessorManager",Slash::Data::IProcessor);
     86    if(accessorManager) {
    9187      G4SDManager* sdManager = g4Manager->sdManager();
    9288      if(sdManager) {
     
    9692          for(int index=0;index<number;index++) {
    9793            G4String hcName = hcTable->GetHCname(index);
    98             typeManager->removeType(hcName);
    99             typeManager->addType
    100               (new MEMPHYS::HitsCollectionType(fSession,hcName));
     94            accessorManager->removeAccessor(hcName);
     95            accessorManager->addAccessor
     96              (new MEMPHYS::HitsCollectionAccessor(fSession,hcName));
    10197          }
    10298        }
     
    104100
    105101      /*
    106       typeManager->addType
    107         (new G4Lab::DigitsCollectionType<MEMPHYS::WCDigi>
     102      accessorManager->addAccessor
     103        (new G4Lab::DigitsCollectionAccessor<MEMPHYS::WCDigi>
    108104          (fSession,"WCDigitizedCollection"));
    109105      */
    110       typeManager->addType
    111         (new MEMPHYS::DigitsCollectionType<MEMPHYS::WCDigi>
     106      accessorManager->addAccessor
     107        (new MEMPHYS::DigitsCollectionAccessor<MEMPHYS::WCDigi>
    112108          (fSession,"WCDigitizedCollection"));
    113109    }
     
    115111  }
    116112 public:
    117   AppManager(ISession& aSession,AIDA::IAnalysisFactory& aAIDA,bool aBatch)
     113  AppManager(Slash::Core::ISession& aSession,AIDA::IAnalysisFactory& aAIDA,bool aBatch)
    118114    :Analysis(aAIDA,aBatch),fSession(aSession),fName("MEMPHYS::AppManager") {}
    119115  virtual ~AppManager(){}
    120116 private:
    121   ISession& fSession;
     117  Slash::Core::ISession& fSession;
    122118  std::string fName;
    123119};
Note: See TracChangeset for help on using the changeset viewer.