/[PAMELA software]/yoda/techmodel/PhysicsReader.cpp
ViewVC logotype

Diff of /yoda/techmodel/PhysicsReader.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by kusanagi, Wed Aug 25 10:14:26 2004 UTC revision 5.0 by kusanagi, Mon Aug 29 09:46:13 2005 UTC
# Line 1  Line 1 
1  /** @file      /** @file
2   * $Source: /home/cvsmanager/yoda/techmodel/PhysicsReader.cpp,v $   * $Source: /home/cvsmanager/yoda/techmodel/PhysicsReader.cpp,v $
3   * $Id: PhysicsReader.cpp,v 1.7 2004/08/24 08:01:44 kusanagi Exp $   * $Id: PhysicsReader.cpp,v 4.4 2005/05/28 10:44:11 kusanagi Exp $
4   * $Author: kusanagi $   * $Author: kusanagi $
5   *   *
6   * Implementation of the LogReader class.   * Implementation of the LogReader class.
# Line 11  Line 11 
11  #define UINT unsigned int  #define UINT unsigned int
12  #define BYTE  unsigned char  #define BYTE  unsigned char
13  #include <string>  #include <string>
14  #include <log4cpp/Category.hh>  #include <log4cxx/logger.h>
15  extern "C" {  extern "C" {
16  #include <sys/time.h>  #include <sys/time.h>
17  #include "CRC.h"  #include "CRC.h"
# Line 28  using namespace pamela::tracker; Line 28  using namespace pamela::tracker;
28  using namespace pamela::anticounter;  using namespace pamela::anticounter;
29  using namespace pamela::calorimeter;  using namespace pamela::calorimeter;
30  using namespace pamela::neutron;  using namespace pamela::neutron;
31    using namespace pamela::S4;
32    using namespace pamela::tof;
33    using namespace pamela::trigger;
34    
35  static log4cpp::Category& cat = log4cpp::Category::getInstance("pamela.techmodel.PhysicsReader");    static log4cxx::LoggerPtr logger = log4cxx::Logger::getLogger(_T("pamela.techmodel.PhysicsReader"));
36    
37  /**  /**
38   * Constructor.   * Constructor.
39   */   */
40  PhysicsReader::PhysicsReader(void):  PhysicsReader::PhysicsReader(void):
41    TechmodelAlgorithm(PacketType::Physics, "TechmodelPhysicsReader") {      TechmodelAlgorithm(PacketType::Physics, "TechmodelPhysicsReader") {
42    cat <<  log4cpp::Priority::DEBUG      logger->debug(_T("Constructor"));
43        <<  "Constructor "      trackerReader     = new TrackerReader;
44        <<  "\n " << log4cpp::CategoryStream::ENDLINE;      anticounterReader = new AnticounterReader;
45    trackerReader     = new TrackerReader();      calorimeterReader = new CalorimeterReader;
46    anticounterReader = new AnticounterReader();      neutronReader     = new NeutronDetectorReader;
47    calorimeterReader = new CalorimeterReader();      s4Reader          = new S4Reader;
48    neutronReader     = new NeutronDetectorReader();      tofReader         = new TofReader;
49        triggerReader     = new TriggerReader;
50  }  }
51    
52  /**  /**
# Line 50  PhysicsReader::PhysicsReader(void): Line 54  PhysicsReader::PhysicsReader(void):
54   */   */
55  std::string PhysicsReader::GetVersionInfo(void) const {  std::string PhysicsReader::GetVersionInfo(void) const {
56    return    return
57      "$Header: /home/cvsmanager/yoda/techmodel/PhysicsReader.cpp,v 1.7 2004/08/24 08:01:44 kusanagi Exp $\n";      "$Header: /home/cvsmanager/yoda/techmodel/PhysicsReader.cpp,v 4.4 2005/05/28 10:44:11 kusanagi Exp $\n";
58  }  }
59    
60  /**  /**
# Line 58  std::string PhysicsReader::GetVersionInf Line 62  std::string PhysicsReader::GetVersionInf
62   * event reader routines for all packet types.   * event reader routines for all packet types.
63   */   */
64  void PhysicsReader::Init(PamelaRun *run) {  void PhysicsReader::Init(PamelaRun *run) {
65    SetInputStream(run);      SetInputStream(run);
66    trackerReader->Init(run);      trackerReader->Init(run);
67    anticounterReader->Init(run);      anticounterReader->Init(run);
68    calorimeterReader->Init(run);      calorimeterReader->Init(run);
69    neutronReader->Init(run);      neutronReader->Init(run);
70        s4Reader->Init(run);
71        tofReader->Init(run);
72        triggerReader->Init(run);
73    //run->WriteSubPacket(this, &physicsEvent, physicsEvent->Class());    //run->WriteSubPacket(this, &physicsEvent, physicsEvent->Class());
74      logger->debug(_T("Initialize"));
75  }  }
76    
77  /**  /**
78   * Unpack the Physics event from an input file.   * Unpack the Physics event from an input file.
79   */   */
80  void PhysicsReader::RunEvent(int EventNumber, long int dataLenght) {  void PhysicsReader::RunEvent(int EventNumber, long int dataLenght) throw (Exception){
81      char *subData = new char[dataLenght];      char *subData = new char[dataLenght];
82      InputFile->read(subData, sizeof(unsigned char)*dataLenght);      InputFile->read(subData, sizeof(unsigned char)*dataLenght);
83    
84          /*-----------------*/      /*-----------------*/
85          //passo packetData a tutti i reader dei vari rivelatori      //passo packetData a tutti i reader dei vari rivelatori
86          trackerReader->RunEvent(EventNumber, subData, dataLenght);      trackerReader->RunEvent(EventNumber, subData, dataLenght);
87          anticounterReader->RunEvent(EventNumber, subData, dataLenght);      anticounterReader->RunEvent(EventNumber, subData, dataLenght);
88          calorimeterReader->RunEvent(EventNumber, subData, dataLenght);      calorimeterReader->RunEvent(EventNumber, subData, dataLenght);
89          neutronReader->RunEvent(EventNumber, subData, dataLenght);      neutronReader->RunEvent(EventNumber, subData, dataLenght);
90          /*-----------------*/      s4Reader->RunEvent(EventNumber, subData, dataLenght);
91        tofReader->RunEvent(EventNumber, subData, dataLenght);
92        triggerReader->RunEvent(EventNumber, subData, dataLenght);
93        /*-----------------*/
94        delete [] subData;
95  }  }
96    

Legend:
Removed from v.1.8  
changed lines
  Added in v.5.0

  ViewVC Help
Powered by ViewVC 1.1.23