/[PAMELA software]/yoda/techmodel/physics/CalorimeterReader.cpp
ViewVC logotype

Diff of /yoda/techmodel/physics/CalorimeterReader.cpp

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

revision 2.1 by kusanagi, Sun Oct 17 12:28:46 2004 UTC revision 2.3 by kusanagi, Mon Oct 18 14:28:03 2004 UTC
# Line 1  Line 1 
1  /** @file  /** @file
2   * $Source: /home/cvsmanager/yoda/techmodel/physics/CalorimeterReader.cpp,v $   * $Source: /home/cvsmanager/yoda/techmodel/physics/CalorimeterReader.cpp,v $
3   * $Id: CalorimeterReader.cpp,v 2.0 2004/09/21 20:51:22 kusanagi Exp $   * $Id: CalorimeterReader.cpp,v 2.2 2004/10/18 13:01:43 kusanagi Exp $
4   * $Author: kusanagi $   * $Author: kusanagi $
5   *   *
6   * Implementation of the CalorimeterReader class.   * Implementation of the CalorimeterReader class.
# Line 16  extern "C" { Line 16  extern "C" {
16        
17    
18   extern struct {   extern struct {
19          int     IEV;          int     IEV2;
20          int     stwerr[4];          int     stwerr[4];
21          float   perror[4];          float   perror[4];
22          float   dexy[2][22][96];          float   dexy[2][22][96];
# Line 24  extern "C" { Line 24  extern "C" {
24          float   base[2][22][6];          float   base[2][22][6];
25          float   calselftrig[4][7];          float   calselftrig[4][7];
26          float   calIItrig[4];          float   calIItrig[4];
27          float   calstripshit[4];          float   calstripshift[4];
28          float   calDSPtaberr[4];          float   calDSPtaberr[4];
29          float   calevnum[4];          float   calevnum[4];
30      } evento_;      } evento_;
# Line 52  CalorimeterReader::CalorimeterReader(voi Line 52  CalorimeterReader::CalorimeterReader(voi
52   */   */
53  std::string CalorimeterReader::GetVersionInfo(void) const {  std::string CalorimeterReader::GetVersionInfo(void) const {
54    return    return
55      "$Header: /home/cvsmanager/yoda/techmodel/physics/CalorimeterReader.cpp,v 2.0 2004/09/21 20:51:22 kusanagi Exp $";      "$Header: /home/cvsmanager/yoda/techmodel/physics/CalorimeterReader.cpp,v 2.2 2004/10/18 13:01:43 kusanagi Exp $";
56  }  }
57    
58  /**  /**
# Line 85  void CalorimeterReader::RunEvent(int Eve Line 85  void CalorimeterReader::RunEvent(int Eve
85      for (int i = 0; i<length; i++){      for (int i = 0; i<length; i++){
86          convdata[i] = (unsigned short)((unsigned char)subData[i]&0xFF);          convdata[i] = (unsigned short)((unsigned char)subData[i]&0xFF);
87      }*/      }*/
88            
89        
90      //Call to the routine that unpack calorimeter events      //Call to the routine that unpack calorimeter events
91      calunpack_((unsigned char*)data, &length, &ERROR);      calunpack_((unsigned char*)data, &length, &ERROR);
92    
# Line 97  void CalorimeterReader::RunEvent(int Eve Line 98  void CalorimeterReader::RunEvent(int Eve
98          oss.flush();          oss.flush();
99          oss << "Fortran77 function calunpack: " <<  errmsg;          oss << "Fortran77 function calunpack: " <<  errmsg;
100          logger->warn(oss.str().c_str());          logger->warn(oss.str().c_str());
101      } else {      }
102          calorimeter->IEV   = evento_.IEV;      //  In case of "ERROR != 0" the calunpack will take care to set all
103        //  parameters to zero
104        //} else {
105            calorimeter->IEV2   = evento_.IEV2;
106          memcpy(calorimeter->stwerr, evento_.stwerr, sizeof(calorimeter->stwerr));          memcpy(calorimeter->stwerr, evento_.stwerr, sizeof(calorimeter->stwerr));
107          memcpy(calorimeter->perror, evento_.perror, sizeof(calorimeter->perror));          memcpy(calorimeter->perror, evento_.perror, sizeof(calorimeter->perror));
108      //--------have to invert array because of FORTRAN <-> C different management of the indexes      //--------have to invert array because of FORTRAN <-> C different management of the indexes
# Line 130  void CalorimeterReader::RunEvent(int Eve Line 134  void CalorimeterReader::RunEvent(int Eve
134          }          }
135      //-----------------------------------------------------------------------------------------      //-----------------------------------------------------------------------------------------
136          memcpy(calorimeter->calIItrig,      evento_.calIItrig,      sizeof(calorimeter->calIItrig));          memcpy(calorimeter->calIItrig,      evento_.calIItrig,      sizeof(calorimeter->calIItrig));
137          memcpy(calorimeter->calstripshit,   evento_.calstripshit,   sizeof(calorimeter->calstripshit));          memcpy(calorimeter->calstripshift,  evento_.calstripshift,   sizeof(calorimeter->calstripshift));
138          memcpy(calorimeter->calDSPtaberr,   evento_.calDSPtaberr,   sizeof(calorimeter->calDSPtaberr));          memcpy(calorimeter->calDSPtaberr,   evento_.calDSPtaberr,   sizeof(calorimeter->calDSPtaberr));
139          memcpy(calorimeter->calevnum,       evento_.calevnum,       sizeof(calorimeter->calevnum));          memcpy(calorimeter->calevnum,       evento_.calevnum,       sizeof(calorimeter->calevnum));
140      }      //}
141      delete[] data;      delete[] data;
142  }  }

Legend:
Removed from v.2.1  
changed lines
  Added in v.2.3

  ViewVC Help
Powered by ViewVC 1.1.23