21#define M_2PI 6.283185307179586476925286766559005768394
34 if ( teta<0 ) zexit = -
maxZed;
35 else if ( teta>0 ) zexit =
maxZed;
44 double tantheta = std::tan( 2*std::atan( std::exp( -teta ) ) );
46 rexit = (zexit-tz0) * tantheta;
99 double eta,
double etaMinus,
double etaPlus,
100 double phi,
double phiMinus,
double phiPlus,
101 double zed,
double zedMinus,
double zedPlus )
102 : m_params(
eta, etaMinus, etaPlus,
103 phi, phiMinus, phiPlus,
104 zed, zedMinus, zedPlus ),
106 m_l1Id(l1id), m_roiId(id), m_roiWord(0)
116 double eta,
double etaMinus,
double etaPlus,
117 double phi,
double phiMinus,
double phiPlus,
118 double zed,
double zedMinus,
double zedPlus )
119 : m_params(
eta, etaMinus, etaPlus,
120 phi, phiMinus, phiPlus,
121 zed, zedMinus, zedPlus ),
123 m_l1Id(l1id), m_roiId(
id), m_roiWord(roiword)
147 TObject::operator= (
a);
164TIDARoiDescriptor::operator std::string()
const {
170 s <<
" RoIid: " <<
roiId() <<
" RoIword: " <<
roiWord() <<
" (size " <<
size() <<
")";
171 for (
unsigned i=0 ; i<
size() ; i++ ) s <<
"\n\t\t" << i <<
": " << (std::string)*
at(i);
189 if ( !(
eta > -100 &&
eta < 100) ) {
190 std::cerr <<
"TIDARoiDescriptor constructed with eta outside range -100 < eta <100 EtaRange" << std::endl;
197 if ( !(
zed > -100000 &&
zed < 100000 ) ) {
198 std::cerr <<
"TIDARoiDescriptor constructed with eta outside range -100000 < sed <100000 ZedRange" << std::endl;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
ClassImp(TIDARoiDescriptor) static const float M_PIF
Describes the Region of Ineterest geometry It has basically 8 parameters.
double m_rPlusZed
don't save - transient zMinus at radius R
double m_rMinusZed
don't save - transient zPlus at radius R
double m_zedMinusR
don't save - transient zPlus at radius R
TIDARoiParameters m_params
don't save
double m_zedPlusR
cached value -
const TIDARoiDescriptor * at(int i) const
gets phi half-width
double m_tanthetaPlus
don't save - transient zMinus at radius R
std::vector< TIDARoiDescriptor > m_rois
static const double maxZed
don't save
static double exitpoint(double tz0, double teta, double &zexit, double &rexit)
static const double maxRadius
TIDARoiDescriptor(bool fullscan=false)
default constructor
TIDARoiDescriptor & operator=(const TIDARoiDescriptor &r)
assignment
virtual ~TIDARoiDescriptor()
unsigned roiId() const
identifier methods
double m_tanthetaMinus
don't save - transient roi edge gradients
double etacheck(double eta)
helper function to check if eta range was violated
double m_dphi
cache flag - these should be mutable
double zedcheck(double zed)
helper function to check if zed range was violated
double phicheck(double phi)
helper function to check if phi range was violated