All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
SimpleMuonDigi.h
Go to the documentation of this file.
1 #ifndef SimpleMuonDigi_H
2 #define SimpleMuonDigi_H 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <vector>
8 
9 #include "CalorimeterHitType.h"
10 
11 
12 using namespace lcio ;
13 using namespace marlin ;
14 
15 
16 /**
17 \addtogroup CaloDigi CaloDigi
18 @{
19 
20 \addtogroup SimpleMuonDigi SimpleMuonDigi
21 @{
22 Simple calorimeter digitizer for the muon detectors.
23 === SimpleMuonDigi Processor === <br>
24  * Simple calorimeter digitizer for the muon detectors.
25  * Converts SimCalorimeterHit collections to one
26  * CalorimeterHit collection applying a threshold and an calibration constant...
27  *
28  * @version $Id$
29  */
30 class SimpleMuonDigi : public Processor {
31 
32  public:
33 
34  virtual Processor* newProcessor() { return new SimpleMuonDigi ; }
35 
36 
37  SimpleMuonDigi() ;
38 
39  virtual void init() ;
40 
41  virtual void processRunHeader( LCRunHeader* run ) ;
42 
43  virtual void processEvent( LCEvent * evt ) ;
44 
45 
46  virtual void check( LCEvent * evt ) ;
47 
48 
49  virtual void end() ;
50 
51  bool useLayer(CHT::Layout caloLayout, unsigned int layer) ;
52 
53  protected:
54 
55  int _nRun{};
56  int _nEvt{};
57 
58  IntVec _layersToKeepBarrelVec{}, _layersToKeepEndcapVec{};
59  std::vector<bool> _useLayersBarrelVec{}, _useLayersEndcapVec{};
60 
61  std::vector<std::string> _muonCollections{};
62 
63  std::string _outputMuonCollection{};
64  std::string _outputRelCollection{};
65 
66  std::string _cellIDLayerString{};
67 
68  float _thresholdMuon{};
69  float _calibrCoeffMuon{};
70  float _maxHitEnergyMuon{};
71 
72 
73 } ;
74 
75 /** @} @}*/
76 
77 #endif
virtual Processor * newProcessor()