| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PartPropSvc.h
Go to the documentation of this file.
1 #ifndef __PARTPROPSVC_H__
2 #define __PARTPROPSVC_H__
3
4 #include "GaudiKernel/Service.h"
5 #include "GaudiKernel/IPartPropSvc.h"
6 #include "HepPDT/ParticleDataTable.hh"
7 #include "HepPDT/TableBuilder.hh"
8
9 #include <vector>
10 #include <string>
11 #include <utility>
12 #include <iostream>
13
14 //------------------------------------------------------------------
15 //
16 // ClassName: PartPropSvc
17 //
18 // Description: This service provides access to particle properties.
19 // Uses HepPDT as the underlying layer
20 //
21 // Author: Charles Leggett
22 //
23 // Date: 3-8-2001
24 //
25 //------------------------------------------------------------------
26
27 class PartPropSvc: public extends1<Service, IPartPropSvc> {
28 public:
29
30 virtual StatusCode initialize();
31 virtual StatusCode reinitialize();
32 virtual StatusCode finalize();
33
34 // The table
35 HepPDT::ParticleDataTable *PDT();
36
37 void setUnknownParticleHandler( HepPDT::ProcessUnknownID*,
38 const std::string&);
39
40 PartPropSvc( const std::string& name, ISvcLocator* svc );
41
42 // Destructor.
43 virtual ~PartPropSvc();
44
45 private:
46
47
48 StatusCode createTable();
49 std::vector< std::pair<std::string,
50 bool(*) (std::istream&,HepPDT::TableBuilder&)> > m_inputs;
51
52 StringProperty m_pdtFiles;
53 HepPDT::ProcessUnknownID* m_upid;
54 std::string m_upid_name;
55
56 HepPDT::ParticleDataTable *m_pdt;
57
58 bool (*parseTableType(std::string&))(std::istream&, HepPDT::TableBuilder&);
59
60 mutable MsgStream m_log;
61
62 bool m_upid_local;
63
64
65 };
66
67 #endif