/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Trigger/Trigger/Trigger-00-01-05/Trigger/AsciiData.h

Go to the documentation of this file.
00001 #ifndef _AsciiData_h_
00002 #define _AsciiData_h_
00003 
00004 #include <string>
00005 #include <iostream>
00006 #include <vector>
00007 
00008 #include "dmplib.h"
00009 
00010 using std::string;
00011  
00012 class VERSIONNUM : public Tagged {
00013 public:
00014     VERSIONNUM() {} ;
00015 public:
00016     int major;
00017     int minor;
00018     friend std::istream& operator>>(std::istream&, VERSIONNUM& x);
00019     friend std::ostream& operator<<(std::ostream&, const VERSIONNUM& x);
00020 };
00021 
00022 class EVHEAD : public Tagged { 
00023 public:
00024     EVHEAD() {};
00025 public:
00026     int runNo;
00027     int eventNo;
00028     friend std::istream& operator>>(std::istream&, EVHEAD& x);
00029     friend std::ostream& operator<<(std::ostream&, const EVHEAD& x);
00030 };
00031 
00032 class DECAYMODE : public Tagged {
00033   public:
00034     DECAYMODE () {};
00035   public:
00036     int size;
00037     int data[10];
00038     friend std::istream& operator>>(std::istream&, DECAYMODE& x);
00039     friend std::ostream& operator<<(std::ostream&, const DECAYMODE& x);
00040 };
00041 
00042 class TrackTruthType {
00043 public:
00044     TrackTruthType() {};
00045 public:
00046     int trackIndex;
00047     int PDGCode;
00048     float PDGCharge;
00049     int v0Index;
00050     int v1Index;
00051     float px;
00052     float py;
00053     float pz;
00054     float E;
00055     int minDaughterIndex;
00056     int maxDaughterIndex;
00057 };
00058 
00059 class TRACKTRUTH : public Tagged {
00060 public:
00061     TRACKTRUTH() {};
00062 public:
00063     int nTruth;
00064     std::vector<TrackTruthType> truthCol;
00065     friend std::istream& operator>>(std::istream&, TRACKTRUTH& x);
00066     friend std::ostream& operator<<(std::ostream&, const TRACKTRUTH& x);
00067 };
00068 
00069 class VertexTruthType {
00070 public:
00071     VertexTruthType() {};
00072 public:
00073     int vertexIndex;
00074     int parentTrackIndex;
00075     float posX;
00076     float posY;
00077     float posZ;
00078     float time;
00079 };
00080 
00081 class VERTEXTRUTH : public Tagged {
00082 public:
00083     VERTEXTRUTH() {};
00084 public:
00085     int nTruth;
00086     std::vector<VertexTruthType>        truthCol;
00087     friend std::istream& operator>>(std::istream&, VERTEXTRUTH& x);
00088     friend std::ostream& operator<<(std::ostream&, const VERTEXTRUTH& x);
00089 };
00090 
00091 
00092 class MdcTruthType {
00093 public:
00094     MdcTruthType() {};
00095 public:
00096     int trackIndex;
00097     int layerNo;
00098     int cellNo;
00099     float edep;
00100     float driftD;
00101     float posX;
00102     float posY;
00103     float posZ;
00104     int posFlag;
00105     friend std::istream& operator>>(std::istream&, MdcTruthType& x);
00106     friend  std::ostream& operator<<(std::ostream&, const MdcTruthType& x);
00107 };
00108 
00109 class MDCTRUTH : public Tagged { 
00110 public:
00111     MDCTRUTH() {};
00112 public:
00113     int nTruth;
00114     std::vector<MdcTruthType>   truthCol;
00115     friend std::istream& operator>>(std::istream&, MDCTRUTH& x);
00116     friend std::ostream& operator<<(std::ostream&, const MDCTRUTH& x);
00117 };
00118 
00119 class TofTruthType {
00120 public:
00121     TofTruthType() {};
00122 public:
00123     int trackIndex;
00124     int partId;
00125     int scinNb;
00126     float posX;
00127     float posY;
00128     float posZ;
00129     float px;
00130     float py;
00131     float pz;
00132     float trackL;
00133     float time;
00134     friend std::istream& operator>>(std::istream&, TofTruthType& x);
00135     friend  std::ostream& operator<<(std::ostream&, const TofTruthType& x);
00136 };
00137 
00138 class TOFTRUTH : public Tagged { 
00139 public:
00140     TOFTRUTH() {};
00141 public:
00142     int nTruth;
00143     std::vector<TofTruthType>   truthCol;
00144     friend std::istream& operator>>(std::istream&, TOFTRUTH& x);
00145     friend std::ostream& operator<<(std::ostream&, const TOFTRUTH& x);
00146 };
00147 
00148 class EmcTruthType {
00149 public:
00150     EmcTruthType() {};
00151 public:
00152     int trackIndex;
00153     int partId;
00154     int numTheta;
00155     int numPhi;
00156     float posX;
00157     float posY;
00158     float posZ;
00159     float px;
00160     float py;
00161     float pz;
00162     float totalEdep;
00163     friend std::istream& operator>>(std::istream&, EmcTruthType& x);
00164     friend  std::ostream& operator<<(std::ostream&, const EmcTruthType& x);
00165 };
00166 
00167 class EMCTRUTH : public Tagged { 
00168 public:
00169     EMCTRUTH() {};
00170 public:
00171     int nTruth;
00172     std::vector<EmcTruthType>   truthCol;
00173     friend std::istream& operator>>(std::istream&, EMCTRUTH& x);
00174     friend std::ostream& operator<<(std::ostream&, const EMCTRUTH& x);
00175 };
00176 
00177 class MucTruthType {
00178 public:
00179     MucTruthType() {};
00180 public:
00181     int trackIndex;
00182     int partId;
00183     int segId;
00184     int gapId;
00185     int stripId;
00186     float posX;
00187     float posY;
00188     float posZ;
00189     float px;
00190     float py;
00191     float pz;
00192     friend std::istream& operator>>(std::istream&, MucTruthType& x);
00193     friend  std::ostream& operator<<(std::ostream&, const MucTruthType& x);
00194 };
00195 
00196 class MUCTRUTH : public Tagged { 
00197 public:
00198     MUCTRUTH() {};
00199 public:
00200     int nTruth;
00201     std::vector<MucTruthType>   truthCol;
00202     friend std::istream& operator>>(std::istream&, MUCTRUTH& x);
00203     friend std::ostream& operator<<(std::ostream&, const MUCTRUTH& x);
00204 };
00205 
00206 class MdcDigiType { 
00207 public:
00208     MdcDigiType() {};
00209 public:
00210     int trackIndex;
00211     int layerNo;
00212     int cellNo;
00213     float energyDeposit;
00214     float driftTime;
00215     friend std::istream& operator>>(std::istream&, MdcDigiType& x);
00216     friend  std::ostream& operator<<(std::ostream&, const MdcDigiType& x);
00217 };
00218 
00219 class MDCDIGI : public Tagged { 
00220 public:
00221     MDCDIGI() {};
00222 public:
00223     int nDigi;
00224     std::vector<MdcDigiType>    digiCol;
00225     friend std::istream& operator>>(std::istream&, MDCDIGI& x);
00226     friend std::ostream& operator<<(std::ostream&, const MDCDIGI& x);
00227 };
00228 
00229 class TofDigiType { 
00230 public:
00231     TofDigiType() {};
00232 public:
00233     int trackIndex;
00234     int partId;
00235     int scinNb;
00236     float forwADC;
00237     float forwTDC;
00238     float backADC;
00239     float backTDC;
00240 
00241     friend std::istream& operator>>(std::istream&, TofDigiType& x);
00242     friend  std::ostream& operator<<(std::ostream&, const TofDigiType& x);
00243 };
00244 
00245 class TOFDIGI : public Tagged { 
00246 public:
00247     TOFDIGI() {};
00248 public:
00249     int nDigi;
00250     std::vector<TofDigiType>    digiCol;
00251     friend std::istream& operator>>(std::istream&, TOFDIGI& x);
00252     friend std::ostream& operator<<(std::ostream&, const TOFDIGI& x);
00253 };
00254 
00255 class EmcDigiType { 
00256 public:
00257     EmcDigiType() {};
00258 public:
00259     int trackIndex;
00260     int partId;
00261     int numTheta;
00262     int numPhi;
00263     float energyDeposit;
00264     float hitTime;
00265     friend std::istream& operator>>(std::istream&, EmcDigiType& x);
00266     friend  std::ostream& operator<<(std::ostream&, const EmcDigiType& x);
00267 };
00268 
00269 class EMCDIGI : public Tagged { 
00270 public:
00271     EMCDIGI() {};
00272 public:
00273     int nDigi;
00274     std::vector<EmcDigiType>    digiCol;
00275     friend std::istream& operator>>(std::istream&, EMCDIGI& x);
00276     friend std::ostream& operator<<(std::ostream&, const EMCDIGI& x);
00277 };
00278 
00279 class MucDigiType { 
00280 public:
00281     MucDigiType() {};
00282 public:
00283     int trackIndex;
00284     int partNo;
00285     int segNo;
00286     int gapNo;
00287     int stripNo;
00288     friend std::istream& operator>>(std::istream&, MucDigiType& x);
00289     friend  std::ostream& operator<<(std::ostream&, const MucDigiType& x);
00290 };
00291 
00292 class MUCDIGI : public Tagged { 
00293 public:
00294     MUCDIGI() {};
00295 public:
00296     int nDigi;
00297     std::vector<MucDigiType>    digiCol;
00298     friend std::istream& operator>>(std::istream&, MUCDIGI& x);
00299     friend std::ostream& operator<<(std::ostream&, const MUCDIGI& x);
00300 };
00301 
00302 class EVENT : public Tagged { 
00303 public:
00304     EVENT() {};
00305 public:
00306     EVHEAD      header;
00307     DECAYMODE   decayMode;
00308     TRACKTRUTH  trackTruth;
00309     VERTEXTRUTH vertexTruth;
00310     MDCTRUTH    mdcTruth;
00311     MDCDIGI     mdcDigi;
00312     TOFTRUTH    tofTruth;
00313     TOFDIGI     tofDigi;
00314     EMCTRUTH    emcTruth;
00315     EMCDIGI     emcDigi;
00316     MUCTRUTH    mucTruth;
00317     MUCDIGI     mucDigi;
00318     friend std::istream& operator>>(std::istream&, EVENT& x);
00319     friend std::ostream& operator<<(std::ostream&, const EVENT& x);
00320 };
00321 
00322 #endif // _AsciiData_h_

Generated on Tue Nov 29 23:14:40 2016 for BOSS_7.0.2 by  doxygen 1.4.7