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;
102 double eta,
double etaMinus,
double etaPlus,
103 double phi,
double phiMinus,
double phiPlus,
104 double zed,
double zedMinus,
double zedPlus )
105 : m_params(
eta, etaMinus, etaPlus,
106 phi, phiMinus, phiPlus,
107 zed, zedMinus, zedPlus ),
109 m_l1Id(l1id), m_roiId(id), m_roiWord(0),
110 m_cached(false), m_dphi(0)
120 double eta,
double etaMinus,
double etaPlus,
121 double phi,
double phiMinus,
double phiPlus,
122 double zed,
double zedMinus,
double zedPlus )
123 : m_params(
eta, etaMinus, etaPlus,
124 phi, phiMinus, phiPlus,
125 zed, zedMinus, zedPlus ),
127 m_l1Id(l1id), m_roiId(
id), m_roiWord(roiword),
128 m_cached(false), m_dphi(0)
152 TObject::operator= (
a);
171TIDARoiDescriptor::operator std::string()
const {
177 s <<
" RoIid: " <<
roiId() <<
" RoIword: " <<
roiWord() <<
" (size " <<
size() <<
")";
178 for (
unsigned i=0 ; i<
size() ; i++ ) s <<
"\n\t\t" << i <<
": " << (std::string)*
at(i);
196 if ( !(
eta > -100 &&
eta < 100) ) {
197 std::cerr <<
"TIDARoiDescriptor constructed with eta outside range -100 < eta <100 EtaRange" << std::endl;
204 if ( !(
zed > -100000 &&
zed < 100000 ) ) {
205 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