Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawTower_Prototype2.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file RawTower_Prototype2.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef PROTOTYPE2_RAWTOWERPROTOTYPE2_H
4 #define PROTOTYPE2_RAWTOWERPROTOTYPE2_H
5 
6 #include "PROTOTYPE2_FEM.h"
7 
8 #include <calobase/RawTower.h>
9 #include <calobase/RawTowerDefs.h>
10 
11 #include <iostream> // for cout, ostream
12 
14 {
15  public:
19  RawTower_Prototype2(const unsigned int icol, const unsigned int irow);
21  const unsigned int ieta, const unsigned int iphi);
22  virtual ~RawTower_Prototype2() {}
23 
24  void Reset() override;
25  int isValid() const override;
26  void identify(std::ostream &os = std::cout) const override;
27 
28  void set_id(RawTowerDefs::keytype id) override { towerid = id; }
29  RawTowerDefs::keytype get_id() const override { return towerid; }
30  int get_bineta() const override { return RawTowerDefs::decode_index1(towerid); }
31  int get_binphi() const override { return RawTowerDefs::decode_index2(towerid); }
32  int get_column() const override { return RawTowerDefs::decode_index1(towerid); }
33  int get_row() const override { return RawTowerDefs::decode_index2(towerid); }
34  double get_energy() const override { return energy; }
35  void set_energy(const double e) override { energy = e; }
36  float get_time() const override { return time; }
37  void set_time(const float t) override { time = t; }
38 
39  //---Raw data
40  // access------------------------------------------------------------
41 
42  enum
43  {
45  };
46  typedef float signal_type;
47 
48  void set_signal_samples(int i, signal_type sig);
49  signal_type get_signal_samples(int i) const;
51  int get_HBD_channel_number() const { return HBD_channel; }
52 
53  //---Fits------------------------------------------------------------
54 
55  double get_energy_power_law_exp(int verbosity = 0);
56 
57  protected:
59 
62  double energy;
65  float time;
66 
67  // Signal samples from DATA
70 
71  ClassDefOverride(RawTower_Prototype2, 3)
72 };
73 
74 #endif