Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

EventModel.cpp

Go to the documentation of this file.
00001 // $Id: EventModel.cpp,v 1.30 2001/08/27 04:09:35 burnett Exp $
00002 
00003 #define _GlastEvent_EventModel_CPP_
00004 
00005 
00006 // Include files
00007 #include "GlastEvent/TopLevel/EventModel.h"
00008 #include "GaudiKernel/Kernel.h"
00009 #include "GaudiKernel/ClassID.h"
00010 
00011     
00017 class EvModel {
00018         
00019 public:
00020     
00021     EvModel() {
00022         // Access to GLAST event
00023         EventModel::Event                 = "/Event";
00024             
00025         // Monte Carlo 
00026         EventModel::MC::Event             = EventModel::Event + "/MC";
00027         EventModel::MC::McVertexCol        = EventModel::MC::Event  + "/McVertexCol";
00028         EventModel::MC::McParticleCol       = EventModel::MC::Event  + "/McParticleCol";
00029 
00030         EventModel::MC::McPositionHits    = EventModel::MC::Event  + "/McPositionHits";
00031         EventModel::MC::McIntegratingHits = EventModel::MC::Event  + "/McIntegratingHits";
00032 
00033         // Digi event
00034         EventModel::Digi::Event           = EventModel::Event + "/Digi";
00035         EventModel::Digi::AcdDigis        = EventModel::Digi::Event + "/AcdDigis";
00036         EventModel::Digi::TkrDigis        = EventModel::Digi::Event + "/TkrDigis";
00037 
00038         // Irf event
00039         EventModel::Irf::Event            = EventModel::Event + "/Irf";
00040         EventModel::Irf::IrfTkrHits       = EventModel::Irf::Event + "/IrfTkrHits";
00041         EventModel::Irf::IrfCalHits       = EventModel::Irf::Event + "/IrfCalHits";
00042         EventModel::Irf::IrfAcdHits       = EventModel::Irf::Event + "/IrfAcdHits";
00043 
00044         // Data Data
00045         EventModel::Data::Event           = EventModel::Event + "/Data";
00046         EventModel::Data::TdGlastData     = EventModel::Data::Event + "/TdGlastData";
00047         EventModel::Data::TdSiData        = EventModel::Data::Event + "/TdSiData";
00048         EventModel::Data::TdCsIData       = EventModel::Data::Event + "/TdCsIData";
00049         EventModel::Data::TdVetoData      = EventModel::Data::Event + "/TdVetoData";
00050         
00051 
00052         // reconstructed data (Tracker)
00053         EventModel::TkrRecon::Event       = EventModel::Event + "/TkrRecon";
00054         EventModel::TkrRecon::SiLayers    = EventModel::TkrRecon::Event + "/SiLayers";
00055         EventModel::TkrRecon::SiClusters  = EventModel::TkrRecon::Event + "/SiClusters";
00056         EventModel::TkrRecon::SiRecObjs   = EventModel::TkrRecon::Event + "/SiRecObjs";
00057 
00058         // reconstructed ACD data
00059         EventModel::AcdRecon::Event       = EventModel::Event + "/AcdRecon";
00060     }
00061 };
00062     
00063     
00064     static EvModel mod;    // where  used? has file scope     
00065     
00066 /*  Class ID definitions for the Glast Event Model
00067     Maximum CLID is 65536 = 2^16 - 1
00068 
00069     Categorie          ID range      Comment
00070     ---------          --------      -------
00071     Gaudi Kernel          0 -  99    see Gaudi/Kernel/Kernel.cpp
00072                         100 - 199    general classes (Run, Event, EventTag, ContainedObject)
00073                                      see Gaudi/Kernel/Kernel.cpp
00074                                      Some of these classes may be removed in the next 
00075                                      Gaudi release
00076 
00077     GLAST class Categories and ID ranges (proposal)
00078     
00079     Categorie          ID range      Comment
00080     ---------          --------      -------
00081     EventSelection     200  -  299   High level event information used for event selection
00082                                      (Run and EventTag are at present in Kernel.cpp)
00083     Utilities          300  -  399   used at several places of the EventModel
00084     
00085     MonteCarlo         1000
00086       Generator        1001 - 1099   Flux generator related classes
00087       Kine+Hit         1100 - 1199   Kinematics, Hits and associations
00088       IrfHit           1200 - 1299   Special IRF Hits
00089 
00090     Digi data          1300 - 1399   Digi (and possible Hit/Digi associations)
00091 
00092     Raw data           1400 - 1499   Raw data (and possible Hit/Digi associations)
00093 
00094     Trigger (simulation)
00095       Trigger          2000 - 2099   Trigger summary 
00096       LVL1             2100 - 2199   LVL1 classes
00097       Hlt              2200 - 2299   Higher level trigger classes
00098 
00099     Reconstruction
00100       Recon            3000 - 3099   Combined Recon and Recon summary
00101       TkrRecon         3100 - 3199   Tracker recon
00102       CalRecon         3200 - 3299   Calorimeter recon
00103       AcdRecon         3300 - 3399   ACD recon
00104 
00105     Analysis           4000 - 4999   Event interpretation beyond reconstruction, e.g.
00106                                      information for event classification, diagnosis, ... 
00107                                      Typically not written to persistent store.
00108     Note:
00109     Detector description and calibrations have their own trees, not connected
00110     to the EventModel tree.  
00111  */
00112     
00113     // Declaration of Identifiers
00114     // The order is: General, Tracker, Calorimeter, ACD
00115  
00116     //const CLID& CLID_Event            =  110;  // defined in Gaudi/Kernel/Kernel.cpp
00117 
00119     const CLID& CLID_McEvent            = 1100;
00120     const CLID& CLID_McVertex           = 1101;
00121     const CLID& CLID_McParticle         = 1102;
00122     const CLID& CLID_McPositionHit      = 1103;
00123     const CLID& CLID_McIntegratingHit   = 1104;
00124 
00126     const CLID& CLID_IrfEvent           = 1200;
00127     const CLID& CLID_IrfTkrHit          = 1210;
00128     const CLID& CLID_IrfTkrLayer        = 1211;
00129     const CLID& CLID_IrfCalHit          = 1220;
00130     const CLID& CLID_IrfAcdHit          = 1230;
00131 
00133     const CLID& CLID_DigiEvent          = 1300; 
00134     const CLID& CLID_TkrDigi            = 1310;  // indicative only, use 1310, 1311,.. for Tkr
00135     const CLID& CLID_CalDigi            = 1320;  // indicative only, use 1320, 1321,.. for Cal
00136     const CLID& CLID_AcdDigi            = 1330;
00137     
00138     // clarify where these are used 
00139     const CLID& CLID_RawEvent           = 1400;  // temporary...will be replaced by DataEvent
00140     const CLID& CLID_TdGlastData        = 1401;
00141     const CLID& CLID_TdSiData           = 1411;
00142     const CLID& CLID_TdSiDataCnv        = 1412;
00143     const CLID& CLID_TdCsIData          = 1421;
00144     const CLID& CLID_TdCsIDataCnv       = 1422;
00145     const CLID& CLID_Xtal               = 1423;
00146     const CLID& CLID_TdVetoData         = 1424;
00147     const CLID& CLID_LdGlastData        = 1425;
00148     const CLID& CLID_LdGlastDataCnv     = 1426;
00149    
00151     const CLID& CLID_RecEvent           = 3000;
00152   
00154     const CLID& CLID_TkrRecon           = 3100;
00155     const CLID& CLID_SiLayers           = 3101;  // Use Tkr instead of Si ?
00156     const CLID& CLID_SiClusters         = 3102;  // Is this really Layers, Clusters, RecObjs
00157     const CLID& CLID_SiRecObjs          = 3103;  // or rather Layer, Cluster, RecObj objects?
00158 
00160     const CLID& CLID_CalRecon           = 3200;
00161 
00163     const CLID& CLID_AcdRecon           = 3300;
00164         
00165 
00167     const CLID& CLID_AnalEvent          = 4000;
00168         
00170     
00171     const CLID& CLID_CalADCLogs         = 2601;
00172     const CLID& CLID_CalRecLogs         = 2602;
00173     const CLID& CLID_CalClusterList     = 2603;
00174 
00176     const CLID& CLID_RefTable1to1       =  321;
00177     const CLID& CLID_RefTable1toN       =  322;
00178 

Generated at Wed Nov 21 12:22:49 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000