Gaudi Framework, version v23r8

Home   Generated: Fri May 31 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ParticlePropertySvc.h
Go to the documentation of this file.
1 #ifndef PARTICLEPROPERTYSVC_PARTICLEPROPERTYSVC_H
2 #define PARTICLEPROPERTYSVC_PARTICLEPROPERTYSVC_H
3 // ============================================================================
4 // Include Files
5 // ============================================================================
6 // STD&STL
7 // ============================================================================
8 #include <map>
9 #include <set>
10 // ============================================================================
11 // GaudiKernel
12 // ============================================================================
13 #include "GaudiKernel/Service.h"
14 #include "GaudiKernel/SvcFactory.h"
16 
17 class IFileAccess;
18 
19 namespace Gaudi {
20 // ============================================================================
72 class ParticlePropertySvc: public extends1<Service,IParticlePropertySvc>
73 {
74 public:
75  // typedefs for container type
85  // Inherited Service overrides:
86 
88  virtual StatusCode initialize();
90  virtual StatusCode finalize();
103  virtual StatusCode push_back
104  ( const std::string& particle ,
105  int geantId ,
106  int jetsetId ,
107  double charge ,
108  double mass ,
109  double tlife ,
110  const std::string& evtName ,
111  int pythiaId ,
112  double maxWidth ) ;
120  virtual const_iterator begin() const { return m_vectpp.begin() ; }
122  virtual const_iterator end () const { return m_vectpp.end() ; }
124  virtual int size() const { return m_vectpp.size() ; };
126  virtual ParticleProperty* find( int geantId )
127  { return m_idmap[ geantId ] ; }
129  virtual ParticleProperty* find( const std::string& name )
130  { return m_namemap[ name ] ; }
132  virtual ParticleProperty* findByStdHepID( int stdHepId )
133  { return m_stdhepidmap[ stdHepId ] ; }
135  virtual ParticleProperty* findByPythiaID( int pythiaID )
136  { return m_pythiaidmap[ pythiaID ]; }
138  virtual StatusCode erase( int geantId )
139  { return erase ( find ( geantId ) ) ; }
141  virtual StatusCode erase( const std::string& name )
142  { return erase ( find ( name ) ) ; }
144  virtual StatusCode eraseByStdHepID( int stdHepId )
145  { return erase( findByStdHepID ( stdHepId ) ) ; }
151  ( const std::string& name , ISvcLocator* svc );
153  virtual ~ParticlePropertySvc();
154 protected:
160  const ParticleProperty* anti
161  ( const ParticleProperty* pp ) const ;
166  StatusCode setAntiParticles() ;
168  StatusCode rebuild() ;
170  StatusCode erase ( const ParticleProperty* pp ) ;
172  StatusCode parse ( const std::string& file ) ;
173  // Text file parsing routine.
174  StatusCode parse();
175  // treat additional particles
176  StatusCode addParticles() ;
177  // compare 2 entries
178  bool diff
179  ( const ParticleProperty* o ,
180  const ParticleProperty* n ,
181  const MSG::Level l = MSG::DEBUG ) const ;
182 private:
185 
188  // properties to be redefined explicitly
190 
196 
197  // local storage of ALL properties
200 
202 };
203 } // namespace Gaudi
204 // =============================================================================
205 // The END
206 // =============================================================================
207 #endif
208 // =============================================================================
209 
210 

Generated at Fri May 31 2013 15:09:09 for Gaudi Framework, version v23r8 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004