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;
98 double eta,
double etaMinus,
double etaPlus,
99 double phi,
double phiMinus,
double phiPlus,
100 double zed,
double zedMinus,
double zedPlus )
101 : m_params(
eta, etaMinus, etaPlus,
102 phi, phiMinus, phiPlus,
103 zed, zedMinus, zedPlus ),
105 m_l1Id(l1id), m_roiId(id), m_roiWord(0)
115 double eta,
double etaMinus,
double etaPlus,
116 double phi,
double phiMinus,
double phiPlus,
117 double zed,
double zedMinus,
double zedPlus )
118 : m_params(
eta, etaMinus, etaPlus,
119 phi, phiMinus, phiPlus,
120 zed, zedMinus, zedPlus ),
122 m_l1Id(l1id), m_roiId(
id), m_roiWord(roiword)
146 TObject::operator= (
a);
163TIDARoiDescriptor::operator std::string()
const {
169 s <<
" RoIid: " <<
roiId() <<
" RoIword: " <<
roiWord() <<
" (size " <<
size() <<
")";
170 for (
unsigned i=0 ; i<
size() ; i++ ) s <<
"\n\t\t" << i <<
": " << (std::string)*
at(i);
188 if ( !(
eta > -100 &&
eta < 100) ) {
189 std::cerr <<
"TIDARoiDescriptor constructed with eta outside range -100 < eta <100 EtaRange" << std::endl;
196 if ( !(
zed > -100000 &&
zed < 100000 ) ) {
197 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 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